﻿2026-06-13T10:36:10.6340575Z ##[group]Run ./traceable-reqs check --json
2026-06-13T10:36:10.6340894Z [36;1m./traceable-reqs check --json[0m
2026-06-13T10:36:10.6353930Z shell: /usr/bin/bash -e {0}
2026-06-13T10:36:10.6354154Z ##[endgroup]
2026-06-13T10:36:10.6651269Z {
2026-06-13T10:36:10.6652091Z   "schemaVersion": 1,
2026-06-13T10:36:10.6652420Z   "summary": {
2026-06-13T10:36:10.6652811Z     "requirementCount": 189,
2026-06-13T10:36:10.6653226Z     "completeCount": 189,
2026-06-13T10:36:10.6653616Z     "incompleteCount": 0,
2026-06-13T10:36:10.6653990Z     "findingCount": 0
2026-06-13T10:36:10.6654314Z   },
2026-06-13T10:36:10.6654624Z   "requirements": [
2026-06-13T10:36:10.6655492Z     {
2026-06-13T10:36:10.6655826Z       "id": "REQ-API-1",
2026-06-13T10:36:10.6656304Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-13T10:36:10.6656773Z       "requiredStages": [
2026-06-13T10:36:10.6657063Z         "impl",
2026-06-13T10:36:10.6657316Z         "unit",
2026-06-13T10:36:10.6657558Z         "int"
2026-06-13T10:36:10.6657863Z       ],
2026-06-13T10:36:10.6658102Z       "stages": {
2026-06-13T10:36:10.6658360Z         "doc": {
2026-06-13T10:36:10.6658618Z           "complete": false,
2026-06-13T10:36:10.6658918Z           "evidence": []
2026-06-13T10:36:10.6659344Z         },
2026-06-13T10:36:10.6659586Z         "impl": {
2026-06-13T10:36:10.6659839Z           "complete": true,
2026-06-13T10:36:10.6660134Z           "evidence": [
2026-06-13T10:36:10.6660415Z             {
2026-06-13T10:36:10.6660692Z               "path": "crates/spt/src/api/mod.rs",
2026-06-13T10:36:10.6661059Z               "line": 15
2026-06-13T10:36:10.6661480Z             }
2026-06-13T10:36:10.6661713Z           ]
2026-06-13T10:36:10.6661960Z         },
2026-06-13T10:36:10.6662209Z         "int": {
2026-06-13T10:36:10.6662456Z           "complete": true,
2026-06-13T10:36:10.6662752Z           "evidence": [
2026-06-13T10:36:10.6663018Z             {
2026-06-13T10:36:10.6663304Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-13T10:36:10.6663687Z               "line": 13
2026-06-13T10:36:10.6663958Z             }
2026-06-13T10:36:10.6664200Z           ]
2026-06-13T10:36:10.6664433Z         },
2026-06-13T10:36:10.6664674Z         "unit": {
2026-06-13T10:36:10.6664926Z           "complete": true,
2026-06-13T10:36:10.6665236Z           "evidence": [
2026-06-13T10:36:10.6665499Z             {
2026-06-13T10:36:10.6665771Z               "path": "crates/spt/src/api/mod.rs",
2026-06-13T10:36:10.6666133Z               "line": 471
2026-06-13T10:36:10.6666419Z             },
2026-06-13T10:36:10.6666668Z             {
2026-06-13T10:36:10.6666945Z               "path": "crates/spt/src/api/mod.rs",
2026-06-13T10:36:10.6667323Z               "line": 509
2026-06-13T10:36:10.6667599Z             },
2026-06-13T10:36:10.6667832Z             {
2026-06-13T10:36:10.6668108Z               "path": "crates/spt/src/api/mod.rs",
2026-06-13T10:36:10.6668476Z               "line": 576
2026-06-13T10:36:10.6668742Z             }
2026-06-13T10:36:10.6669072Z           ]
2026-06-13T10:36:10.6669310Z         }
2026-06-13T10:36:10.6669526Z       }
2026-06-13T10:36:10.6669762Z     },
2026-06-13T10:36:10.6670003Z     {
2026-06-13T10:36:10.6670271Z       "id": "REQ-API-2",
2026-06-13T10:36:10.6670728Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-13T10:36:10.6671243Z       "requiredStages": [
2026-06-13T10:36:10.6671524Z         "impl",
2026-06-13T10:36:10.6671764Z         "unit",
2026-06-13T10:36:10.6672021Z         "int"
2026-06-13T10:36:10.6672254Z       ],
2026-06-13T10:36:10.6672487Z       "stages": {
2026-06-13T10:36:10.6672754Z         "doc": {
2026-06-13T10:36:10.6673016Z           "complete": false,
2026-06-13T10:36:10.6673312Z           "evidence": []
2026-06-13T10:36:10.6673583Z         },
2026-06-13T10:36:10.6673816Z         "impl": {
2026-06-13T10:36:10.6674069Z           "complete": true,
2026-06-13T10:36:10.6674361Z           "evidence": [
2026-06-13T10:36:10.6674638Z             {
2026-06-13T10:36:10.6675225Z               "path": "crates/spt-store/src/history.rs",
2026-06-13T10:36:10.6675592Z               "line": 15
2026-06-13T10:36:10.6675850Z             },
2026-06-13T10:36:10.6676097Z             {
2026-06-13T10:36:10.6676379Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T10:36:10.6676755Z               "line": 20
2026-06-13T10:36:10.6677027Z             },
2026-06-13T10:36:10.6677270Z             {
2026-06-13T10:36:10.6677566Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T10:36:10.6677921Z               "line": 139
2026-06-13T10:36:10.6678183Z             },
2026-06-13T10:36:10.6678813Z             {
2026-06-13T10:36:10.6679270Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.6679622Z               "line": 21
2026-06-13T10:36:10.6679894Z             },
2026-06-13T10:36:10.6680129Z             {
2026-06-13T10:36:10.6680450Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.6680821Z               "line": 38
2026-06-13T10:36:10.6681117Z             },
2026-06-13T10:36:10.6681360Z             {
2026-06-13T10:36:10.6681656Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.6682037Z               "line": 190
2026-06-13T10:36:10.6682338Z             },
2026-06-13T10:36:10.6682610Z             {
2026-06-13T10:36:10.6683024Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.6683451Z               "line": 232
2026-06-13T10:36:10.6683677Z             },
2026-06-13T10:36:10.6683867Z             {
2026-06-13T10:36:10.6684085Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.6684386Z               "line": 262
2026-06-13T10:36:10.6684620Z             },
2026-06-13T10:36:10.6684944Z             {
2026-06-13T10:36:10.6685208Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T10:36:10.6685567Z               "line": 17
2026-06-13T10:36:10.6685785Z             },
2026-06-13T10:36:10.6685971Z             {
2026-06-13T10:36:10.6686266Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T10:36:10.6686595Z               "line": 30
2026-06-13T10:36:10.6686810Z             },
2026-06-13T10:36:10.6687054Z             {
2026-06-13T10:36:10.6687320Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T10:36:10.6687625Z               "line": 63
2026-06-13T10:36:10.6687844Z             },
2026-06-13T10:36:10.6688051Z             {
2026-06-13T10:36:10.6688344Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T10:36:10.6688724Z               "line": 76
2026-06-13T10:36:10.6689068Z             }
2026-06-13T10:36:10.6689349Z           ]
2026-06-13T10:36:10.6689630Z         },
2026-06-13T10:36:10.6689887Z         "int": {
2026-06-13T10:36:10.6690173Z           "complete": true,
2026-06-13T10:36:10.6690479Z           "evidence": [
2026-06-13T10:36:10.6690787Z             {
2026-06-13T10:36:10.6691127Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-13T10:36:10.6691523Z               "line": 14
2026-06-13T10:36:10.6691819Z             },
2026-06-13T10:36:10.6692086Z             {
2026-06-13T10:36:10.6692387Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-13T10:36:10.6692754Z               "line": 187
2026-06-13T10:36:10.6693036Z             }
2026-06-13T10:36:10.6693283Z           ]
2026-06-13T10:36:10.6693528Z         },
2026-06-13T10:36:10.6693773Z         "unit": {
2026-06-13T10:36:10.6694026Z           "complete": true,
2026-06-13T10:36:10.6694312Z           "evidence": [
2026-06-13T10:36:10.6694589Z             {
2026-06-13T10:36:10.6694870Z               "path": "crates/spt-store/src/history.rs",
2026-06-13T10:36:10.6695233Z               "line": 42
2026-06-13T10:36:10.6695495Z             },
2026-06-13T10:36:10.6695739Z             {
2026-06-13T10:36:10.6696018Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T10:36:10.6696340Z               "line": 254
2026-06-13T10:36:10.6696536Z             },
2026-06-13T10:36:10.6696708Z             {
2026-06-13T10:36:10.6697198Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.6697556Z               "line": 517
2026-06-13T10:36:10.6697823Z             },
2026-06-13T10:36:10.6698052Z             {
2026-06-13T10:36:10.6698334Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.6698714Z               "line": 528
2026-06-13T10:36:10.6699059Z             },
2026-06-13T10:36:10.6699589Z             {
2026-06-13T10:36:10.6699909Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.6700257Z               "line": 660
2026-06-13T10:36:10.6700500Z             },
2026-06-13T10:36:10.6700971Z             {
2026-06-13T10:36:10.6701249Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.6701570Z               "line": 672
2026-06-13T10:36:10.6701813Z             },
2026-06-13T10:36:10.6702026Z             {
2026-06-13T10:36:10.6702266Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T10:36:10.6702571Z               "line": 141
2026-06-13T10:36:10.6702819Z             },
2026-06-13T10:36:10.6703019Z             {
2026-06-13T10:36:10.6703276Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T10:36:10.6703567Z               "line": 185
2026-06-13T10:36:10.6703806Z             }
2026-06-13T10:36:10.6704007Z           ]
2026-06-13T10:36:10.6704205Z         }
2026-06-13T10:36:10.6704401Z       }
2026-06-13T10:36:10.6704605Z     },
2026-06-13T10:36:10.6704807Z     {
2026-06-13T10:36:10.6705026Z       "id": "REQ-API-3",
2026-06-13T10:36:10.6705360Z       "title": "commune/signoff are file-drops, not commands",
2026-06-13T10:36:10.6705731Z       "requiredStages": [
2026-06-13T10:36:10.6705975Z         "impl",
2026-06-13T10:36:10.6706188Z         "unit",
2026-06-13T10:36:10.6706398Z         "int"
2026-06-13T10:36:10.6706607Z       ],
2026-06-13T10:36:10.6706791Z       "stages": {
2026-06-13T10:36:10.6707006Z         "doc": {
2026-06-13T10:36:10.6707258Z           "complete": false,
2026-06-13T10:36:10.6707500Z           "evidence": []
2026-06-13T10:36:10.6707720Z         },
2026-06-13T10:36:10.6707917Z         "impl": {
2026-06-13T10:36:10.6708130Z           "complete": true,
2026-06-13T10:36:10.6708360Z           "evidence": [
2026-06-13T10:36:10.6708580Z             {
2026-06-13T10:36:10.6709167Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-13T10:36:10.6709710Z               "line": 27
2026-06-13T10:36:10.6710111Z             },
2026-06-13T10:36:10.6710493Z             {
2026-06-13T10:36:10.6710893Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.6711366Z               "line": 374
2026-06-13T10:36:10.6711818Z             }
2026-06-13T10:36:10.6712215Z           ]
2026-06-13T10:36:10.6712483Z         },
2026-06-13T10:36:10.6747518Z         "int": {
2026-06-13T10:36:10.6748138Z           "complete": true,
2026-06-13T10:36:10.6748448Z           "evidence": [
2026-06-13T10:36:10.6748709Z             {
2026-06-13T10:36:10.6749088Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-13T10:36:10.6749547Z               "line": 261
2026-06-13T10:36:10.6749809Z             }
2026-06-13T10:36:10.6750051Z           ]
2026-06-13T10:36:10.6750276Z         },
2026-06-13T10:36:10.6750510Z         "unit": {
2026-06-13T10:36:10.6750768Z           "complete": true,
2026-06-13T10:36:10.6751054Z           "evidence": [
2026-06-13T10:36:10.6751335Z             {
2026-06-13T10:36:10.6751648Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-13T10:36:10.6752013Z               "line": 280
2026-06-13T10:36:10.6752284Z             },
2026-06-13T10:36:10.6752532Z             {
2026-06-13T10:36:10.6752856Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.6753233Z               "line": 701
2026-06-13T10:36:10.6753500Z             }
2026-06-13T10:36:10.6753739Z           ]
2026-06-13T10:36:10.6753969Z         }
2026-06-13T10:36:10.6754200Z       }
2026-06-13T10:36:10.6754436Z     },
2026-06-13T10:36:10.6754675Z     {
2026-06-13T10:36:10.6754923Z       "id": "REQ-ARCH-1",
2026-06-13T10:36:10.6755742Z       "title": "Many small acyclically-layered crates",
2026-06-13T10:36:10.6756143Z       "requiredStages": [
2026-06-13T10:36:10.6756444Z         "impl"
2026-06-13T10:36:10.6756701Z       ],
2026-06-13T10:36:10.6756944Z       "stages": {
2026-06-13T10:36:10.6757206Z         "doc": {
2026-06-13T10:36:10.6757492Z           "complete": false,
2026-06-13T10:36:10.6757724Z           "evidence": []
2026-06-13T10:36:10.6757917Z         },
2026-06-13T10:36:10.6758088Z         "impl": {
2026-06-13T10:36:10.6758403Z           "complete": true,
2026-06-13T10:36:10.6758603Z           "evidence": [
2026-06-13T10:36:10.6759027Z             {
2026-06-13T10:36:10.6759217Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-13T10:36:10.6759474Z               "line": 16
2026-06-13T10:36:10.6759662Z             },
2026-06-13T10:36:10.6759831Z             {
2026-06-13T10:36:10.6760035Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-13T10:36:10.6760282Z               "line": 12
2026-06-13T10:36:10.6760483Z             },
2026-06-13T10:36:10.6760655Z             {
2026-06-13T10:36:10.6760850Z               "path": "crates/spt-store/src/lib.rs",
2026-06-13T10:36:10.6761079Z               "line": 12
2026-06-13T10:36:10.6761260Z             }
2026-06-13T10:36:10.6761427Z           ]
2026-06-13T10:36:10.6761585Z         },
2026-06-13T10:36:10.6761751Z         "int": {
2026-06-13T10:36:10.6761928Z           "complete": false,
2026-06-13T10:36:10.6762132Z           "evidence": []
2026-06-13T10:36:10.6762317Z         },
2026-06-13T10:36:10.6762481Z         "unit": {
2026-06-13T10:36:10.6762669Z           "complete": false,
2026-06-13T10:36:10.6762868Z           "evidence": []
2026-06-13T10:36:10.6763050Z         }
2026-06-13T10:36:10.6763207Z       }
2026-06-13T10:36:10.6763370Z     },
2026-06-13T10:36:10.6763531Z     {
2026-06-13T10:36:10.6763693Z       "id": "REQ-ARCH-2",
2026-06-13T10:36:10.6763970Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-13T10:36:10.6764285Z       "requiredStages": [
2026-06-13T10:36:10.6764481Z         "impl"
2026-06-13T10:36:10.6764651Z       ],
2026-06-13T10:36:10.6764813Z       "stages": {
2026-06-13T10:36:10.6764992Z         "doc": {
2026-06-13T10:36:10.6765173Z           "complete": false,
2026-06-13T10:36:10.6765368Z           "evidence": []
2026-06-13T10:36:10.6765555Z         },
2026-06-13T10:36:10.6765721Z         "impl": {
2026-06-13T10:36:10.6765898Z           "complete": true,
2026-06-13T10:36:10.6766094Z           "evidence": [
2026-06-13T10:36:10.6766275Z             {
2026-06-13T10:36:10.6766476Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-13T10:36:10.6766733Z               "line": 18
2026-06-13T10:36:10.6766913Z             }
2026-06-13T10:36:10.6767081Z           ]
2026-06-13T10:36:10.6767237Z         },
2026-06-13T10:36:10.6767391Z         "int": {
2026-06-13T10:36:10.6767570Z           "complete": false,
2026-06-13T10:36:10.6767766Z           "evidence": []
2026-06-13T10:36:10.6767961Z         },
2026-06-13T10:36:10.6768119Z         "unit": {
2026-06-13T10:36:10.6768304Z           "complete": false,
2026-06-13T10:36:10.6768496Z           "evidence": []
2026-06-13T10:36:10.6768677Z         }
2026-06-13T10:36:10.6768834Z       }
2026-06-13T10:36:10.6769068Z     },
2026-06-13T10:36:10.6769234Z     {
2026-06-13T10:36:10.6769402Z       "id": "REQ-ARCH-3",
2026-06-13T10:36:10.6769697Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-13T10:36:10.6770029Z       "requiredStages": [
2026-06-13T10:36:10.6770222Z         "impl",
2026-06-13T10:36:10.6770395Z         "unit"
2026-06-13T10:36:10.6770570Z       ],
2026-06-13T10:36:10.6770733Z       "stages": {
2026-06-13T10:36:10.6770905Z         "doc": {
2026-06-13T10:36:10.6771085Z           "complete": false,
2026-06-13T10:36:10.6771282Z           "evidence": []
2026-06-13T10:36:10.6771462Z         },
2026-06-13T10:36:10.6771630Z         "impl": {
2026-06-13T10:36:10.6771810Z           "complete": true,
2026-06-13T10:36:10.6772140Z           "evidence": [
2026-06-13T10:36:10.6772325Z             {
2026-06-13T10:36:10.6772527Z               "path": "crates/spt-proto/src/version.rs",
2026-06-13T10:36:10.6772777Z               "line": 34
2026-06-13T10:36:10.6772952Z             },
2026-06-13T10:36:10.6773118Z             {
2026-06-13T10:36:10.6773319Z               "path": "crates/spt-proto/src/version.rs",
2026-06-13T10:36:10.6773567Z               "line": 41
2026-06-13T10:36:10.6773752Z             }
2026-06-13T10:36:10.6773915Z           ]
2026-06-13T10:36:10.6774077Z         },
2026-06-13T10:36:10.6774239Z         "int": {
2026-06-13T10:36:10.6774540Z           "complete": false,
2026-06-13T10:36:10.6774736Z           "evidence": []
2026-06-13T10:36:10.6774920Z         },
2026-06-13T10:36:10.6775084Z         "unit": {
2026-06-13T10:36:10.6775258Z           "complete": true,
2026-06-13T10:36:10.6775454Z           "evidence": [
2026-06-13T10:36:10.6775632Z             {
2026-06-13T10:36:10.6775825Z               "path": "crates/spt-proto/src/version.rs",
2026-06-13T10:36:10.6776072Z               "line": 51
2026-06-13T10:36:10.6776252Z             },
2026-06-13T10:36:10.6776420Z             {
2026-06-13T10:36:10.6776620Z               "path": "crates/spt-proto/src/version.rs",
2026-06-13T10:36:10.6776867Z               "line": 71
2026-06-13T10:36:10.6777050Z             },
2026-06-13T10:36:10.6777211Z             {
2026-06-13T10:36:10.6777407Z               "path": "crates/spt-proto/src/version.rs",
2026-06-13T10:36:10.6777646Z               "line": 83
2026-06-13T10:36:10.6777821Z             }
2026-06-13T10:36:10.6777985Z           ]
2026-06-13T10:36:10.6778140Z         }
2026-06-13T10:36:10.6778302Z       }
2026-06-13T10:36:10.6778459Z     },
2026-06-13T10:36:10.6778617Z     {
2026-06-13T10:36:10.6778778Z       "id": "REQ-ARCH-4",
2026-06-13T10:36:10.6779160Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-13T10:36:10.6779465Z       "requiredStages": [
2026-06-13T10:36:10.6779656Z         "impl",
2026-06-13T10:36:10.6779857Z         "unit"
2026-06-13T10:36:10.6780023Z       ],
2026-06-13T10:36:10.6780181Z       "stages": {
2026-06-13T10:36:10.6780361Z         "doc": {
2026-06-13T10:36:10.6780542Z           "complete": false,
2026-06-13T10:36:10.6780744Z           "evidence": []
2026-06-13T10:36:10.6780936Z         },
2026-06-13T10:36:10.6781102Z         "impl": {
2026-06-13T10:36:10.6781279Z           "complete": true,
2026-06-13T10:36:10.6781485Z           "evidence": [
2026-06-13T10:36:10.6781660Z             {
2026-06-13T10:36:10.6781865Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.6782109Z               "line": 157
2026-06-13T10:36:10.6782299Z             },
2026-06-13T10:36:10.6782462Z             {
2026-06-13T10:36:10.6782657Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.6782895Z               "line": 180
2026-06-13T10:36:10.6783088Z             },
2026-06-13T10:36:10.6783247Z             {
2026-06-13T10:36:10.6783437Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.6783674Z               "line": 200
2026-06-13T10:36:10.6783855Z             },
2026-06-13T10:36:10.6784017Z             {
2026-06-13T10:36:10.6798494Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.6798800Z               "line": 215
2026-06-13T10:36:10.6799090Z             },
2026-06-13T10:36:10.6799269Z             {
2026-06-13T10:36:10.6799475Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.6799718Z               "line": 265
2026-06-13T10:36:10.6799917Z             }
2026-06-13T10:36:10.6800109Z           ]
2026-06-13T10:36:10.6800270Z         },
2026-06-13T10:36:10.6800434Z         "int": {
2026-06-13T10:36:10.6800614Z           "complete": false,
2026-06-13T10:36:10.6800829Z           "evidence": []
2026-06-13T10:36:10.6801011Z         },
2026-06-13T10:36:10.6801182Z         "unit": {
2026-06-13T10:36:10.6801360Z           "complete": true,
2026-06-13T10:36:10.6801784Z           "evidence": [
2026-06-13T10:36:10.6801970Z             {
2026-06-13T10:36:10.6802170Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.6802418Z               "line": 326
2026-06-13T10:36:10.6802610Z             },
2026-06-13T10:36:10.6802780Z             {
2026-06-13T10:36:10.6802967Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.6803205Z               "line": 336
2026-06-13T10:36:10.6803395Z             },
2026-06-13T10:36:10.6803554Z             {
2026-06-13T10:36:10.6803744Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.6804111Z               "line": 347
2026-06-13T10:36:10.6804297Z             },
2026-06-13T10:36:10.6804462Z             {
2026-06-13T10:36:10.6804651Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.6804880Z               "line": 358
2026-06-13T10:36:10.6805051Z             },
2026-06-13T10:36:10.6805214Z             {
2026-06-13T10:36:10.6805403Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.6805643Z               "line": 370
2026-06-13T10:36:10.6805825Z             },
2026-06-13T10:36:10.6805991Z             {
2026-06-13T10:36:10.6806172Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.6806406Z               "line": 383
2026-06-13T10:36:10.6806596Z             },
2026-06-13T10:36:10.6806784Z             {
2026-06-13T10:36:10.6806967Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.6807199Z               "line": 394
2026-06-13T10:36:10.6807375Z             },
2026-06-13T10:36:10.6807542Z             {
2026-06-13T10:36:10.6807738Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.6807971Z               "line": 411
2026-06-13T10:36:10.6808148Z             },
2026-06-13T10:36:10.6808314Z             {
2026-06-13T10:36:10.6808505Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.6808735Z               "line": 539
2026-06-13T10:36:10.6808925Z             }
2026-06-13T10:36:10.6809163Z           ]
2026-06-13T10:36:10.6809326Z         }
2026-06-13T10:36:10.6809492Z       }
2026-06-13T10:36:10.6809651Z     },
2026-06-13T10:36:10.6809810Z     {
2026-06-13T10:36:10.6809982Z       "id": "REQ-CLI-1",
2026-06-13T10:36:10.6811193Z       "title": "spt endpoint noun namespace: absorbs fork/suspend/wake/shutdown/rename/stop/digest + access (ported 1:1: allow|revoke|open|list, decision 21) + description (ex-resources blurb; bare=show, set=author); merged endpoint list [--local|--subnet <name>] grouped by subnet with SELF pinned, --detail adding the ex-resources yellow-pages blurb projection; bare spt endpoint = the list (M8 decisions 1-2, 25)",
2026-06-13T10:36:10.6812439Z       "requiredStages": [
2026-06-13T10:36:10.6812636Z         "impl",
2026-06-13T10:36:10.6812816Z         "unit"
2026-06-13T10:36:10.6812988Z       ],
2026-06-13T10:36:10.6813150Z       "stages": {
2026-06-13T10:36:10.6813326Z         "doc": {
2026-06-13T10:36:10.6813508Z           "complete": false,
2026-06-13T10:36:10.6813727Z           "evidence": []
2026-06-13T10:36:10.6813912Z         },
2026-06-13T10:36:10.6814080Z         "impl": {
2026-06-13T10:36:10.6814270Z           "complete": true,
2026-06-13T10:36:10.6814472Z           "evidence": [
2026-06-13T10:36:10.6814661Z             {
2026-06-13T10:36:10.6814857Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.6815104Z               "line": 200
2026-06-13T10:36:10.6815292Z             },
2026-06-13T10:36:10.6815455Z             {
2026-06-13T10:36:10.6815654Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.6815888Z               "line": 864
2026-06-13T10:36:10.6816079Z             },
2026-06-13T10:36:10.6816245Z             {
2026-06-13T10:36:10.6816432Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.6816661Z               "line": 1244
2026-06-13T10:36:10.6816851Z             },
2026-06-13T10:36:10.6817020Z             {
2026-06-13T10:36:10.6817204Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.6817589Z               "line": 2447
2026-06-13T10:36:10.6817787Z             }
2026-06-13T10:36:10.6817959Z           ]
2026-06-13T10:36:10.6818126Z         },
2026-06-13T10:36:10.6818303Z         "int": {
2026-06-13T10:36:10.6818493Z           "complete": false,
2026-06-13T10:36:10.6818708Z           "evidence": []
2026-06-13T10:36:10.6818899Z         },
2026-06-13T10:36:10.6819146Z         "unit": {
2026-06-13T10:36:10.6819342Z           "complete": true,
2026-06-13T10:36:10.6819543Z           "evidence": [
2026-06-13T10:36:10.6819733Z             {
2026-06-13T10:36:10.6819934Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.6820338Z               "line": 5811
2026-06-13T10:36:10.6820547Z             }
2026-06-13T10:36:10.6820718Z           ]
2026-06-13T10:36:10.6820896Z         }
2026-06-13T10:36:10.6821076Z       }
2026-06-13T10:36:10.6821253Z     },
2026-06-13T10:36:10.6821439Z     {
2026-06-13T10:36:10.6821630Z       "id": "REQ-CLI-2",
2026-06-13T10:36:10.6822465Z       "title": "spt daemon noun: run|stop|status (hidden daemon verb becomes daemon run; agent-endpoint shutdown keeps its name under endpoint); daemon status renders the pump heartbeat (last-tick recency) so a half-dead daemon is never rendered implied-healthy (M8 decisions 5, 23)",
2026-06-13T10:36:10.6823309Z       "requiredStages": [
2026-06-13T10:36:10.6823534Z         "impl",
2026-06-13T10:36:10.6823749Z         "unit"
2026-06-13T10:36:10.6823929Z       ],
2026-06-13T10:36:10.6824106Z       "stages": {
2026-06-13T10:36:10.6824291Z         "doc": {
2026-06-13T10:36:10.6824492Z           "complete": false,
2026-06-13T10:36:10.6824717Z           "evidence": []
2026-06-13T10:36:10.6824902Z         },
2026-06-13T10:36:10.6825084Z         "impl": {
2026-06-13T10:36:10.6825294Z           "complete": true,
2026-06-13T10:36:10.6825526Z           "evidence": [
2026-06-13T10:36:10.6825720Z             {
2026-06-13T10:36:10.6825943Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.6826214Z               "line": 345
2026-06-13T10:36:10.6826429Z             },
2026-06-13T10:36:10.6826611Z             {
2026-06-13T10:36:10.6826834Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-13T10:36:10.6827116Z               "line": 78
2026-06-13T10:36:10.6827344Z             },
2026-06-13T10:36:10.6827527Z             {
2026-06-13T10:36:10.6827755Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-13T10:36:10.6828031Z               "line": 239
2026-06-13T10:36:10.6828263Z             },
2026-06-13T10:36:10.6828471Z             {
2026-06-13T10:36:10.6828672Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.6828930Z               "line": 358
2026-06-13T10:36:10.6829235Z             },
2026-06-13T10:36:10.6847659Z             {
2026-06-13T10:36:10.6847902Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.6848155Z               "line": 908
2026-06-13T10:36:10.6848361Z             },
2026-06-13T10:36:10.6848555Z             {
2026-06-13T10:36:10.6848770Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.6849104Z               "line": 1435
2026-06-13T10:36:10.6849312Z             },
2026-06-13T10:36:10.6849477Z             {
2026-06-13T10:36:10.6849659Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.6849901Z               "line": 1514
2026-06-13T10:36:10.6850079Z             },
2026-06-13T10:36:10.6850255Z             {
2026-06-13T10:36:10.6850440Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.6850664Z               "line": 1575
2026-06-13T10:36:10.6850840Z             }
2026-06-13T10:36:10.6851022Z           ]
2026-06-13T10:36:10.6851189Z         },
2026-06-13T10:36:10.6851356Z         "int": {
2026-06-13T10:36:10.6851538Z           "complete": false,
2026-06-13T10:36:10.6851752Z           "evidence": []
2026-06-13T10:36:10.6851952Z         },
2026-06-13T10:36:10.6852122Z         "unit": {
2026-06-13T10:36:10.6852309Z           "complete": true,
2026-06-13T10:36:10.6852862Z           "evidence": [
2026-06-13T10:36:10.6853080Z             {
2026-06-13T10:36:10.6853310Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-13T10:36:10.6853586Z               "line": 309
2026-06-13T10:36:10.6853802Z             },
2026-06-13T10:36:10.6853967Z             {
2026-06-13T10:36:10.6854183Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.6854415Z               "line": 5949
2026-06-13T10:36:10.6854613Z             }
2026-06-13T10:36:10.6854804Z           ]
2026-06-13T10:36:10.6854979Z         }
2026-06-13T10:36:10.6855153Z       }
2026-06-13T10:36:10.6855337Z     },
2026-06-13T10:36:10.6855763Z     {
2026-06-13T10:36:10.6855942Z       "id": "REQ-CLI-3",
2026-06-13T10:36:10.6856778Z       "title": "Agent hot path stays flat across the M8 reorg: send/ring/ready/whoami/how-to unchanged; notify moves to subnet notify while notif stays top-level; breaking renames land clean with no deprecation shims (zero external CLI consumers pre-spt-claude-code) (M8 decisions 3-4, 9)",
2026-06-13T10:36:10.6857628Z       "requiredStages": [
2026-06-13T10:36:10.6857823Z         "impl",
2026-06-13T10:36:10.6857996Z         "unit"
2026-06-13T10:36:10.6858171Z       ],
2026-06-13T10:36:10.6858339Z       "stages": {
2026-06-13T10:36:10.6858509Z         "doc": {
2026-06-13T10:36:10.6858696Z           "complete": false,
2026-06-13T10:36:10.6858897Z           "evidence": []
2026-06-13T10:36:10.6859222Z         },
2026-06-13T10:36:10.6859396Z         "impl": {
2026-06-13T10:36:10.6859575Z           "complete": true,
2026-06-13T10:36:10.6859773Z           "evidence": [
2026-06-13T10:36:10.6859949Z             {
2026-06-13T10:36:10.6860136Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.6860366Z               "line": 858
2026-06-13T10:36:10.6860562Z             }
2026-06-13T10:36:10.6860723Z           ]
2026-06-13T10:36:10.6860873Z         },
2026-06-13T10:36:10.6861033Z         "int": {
2026-06-13T10:36:10.6861206Z           "complete": false,
2026-06-13T10:36:10.6861429Z           "evidence": []
2026-06-13T10:36:10.6861625Z         },
2026-06-13T10:36:10.6861793Z         "unit": {
2026-06-13T10:36:10.6861992Z           "complete": true,
2026-06-13T10:36:10.6862184Z           "evidence": [
2026-06-13T10:36:10.6862389Z             {
2026-06-13T10:36:10.6862582Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.6862831Z               "line": 5776
2026-06-13T10:36:10.6863040Z             }
2026-06-13T10:36:10.6863226Z           ]
2026-06-13T10:36:10.6863399Z         }
2026-06-13T10:36:10.6863583Z       }
2026-06-13T10:36:10.6863765Z     },
2026-06-13T10:36:10.6863951Z     {
2026-06-13T10:36:10.6864151Z       "id": "REQ-CONSENT-1",
2026-06-13T10:36:10.6865169Z       "title": "Consent grant store: capability x subject-agent x target-node rows, enforced at the target node, subnet-settable (replicates as security material near the trust store), revocable; gated-capability ids (remote-exec, instantiate-anywhere) reserved-but-refusing; v1 consumers are the shell spawn gates (CONTEXT Consent & security gates)",
2026-06-13T10:36:10.6866212Z       "requiredStages": [
2026-06-13T10:36:10.6866423Z         "impl",
2026-06-13T10:36:10.6866628Z         "unit"
2026-06-13T10:36:10.6866910Z       ],
2026-06-13T10:36:10.6867085Z       "stages": {
2026-06-13T10:36:10.6867277Z         "doc": {
2026-06-13T10:36:10.6867476Z           "complete": false,
2026-06-13T10:36:10.6867695Z           "evidence": []
2026-06-13T10:36:10.6867899Z         },
2026-06-13T10:36:10.6868078Z         "impl": {
2026-06-13T10:36:10.6868270Z           "complete": true,
2026-06-13T10:36:10.6868488Z           "evidence": [
2026-06-13T10:36:10.6868707Z             {
2026-06-13T10:36:10.6868927Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T10:36:10.6869304Z               "line": 27
2026-06-13T10:36:10.6869505Z             },
2026-06-13T10:36:10.6869689Z             {
2026-06-13T10:36:10.6869905Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T10:36:10.6870163Z               "line": 75
2026-06-13T10:36:10.6870569Z             },
2026-06-13T10:36:10.6870764Z             {
2026-06-13T10:36:10.6870978Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T10:36:10.6871236Z               "line": 98
2026-06-13T10:36:10.6871433Z             },
2026-06-13T10:36:10.6871622Z             {
2026-06-13T10:36:10.6871832Z               "path": "crates/spt-store/src/grants.rs",
2026-06-13T10:36:10.6872119Z               "line": 82
2026-06-13T10:36:10.6872314Z             },
2026-06-13T10:36:10.6872519Z             {
2026-06-13T10:36:10.6872744Z               "path": "crates/spt-store/src/grants.rs",
2026-06-13T10:36:10.6873147Z               "line": 109
2026-06-13T10:36:10.6873348Z             },
2026-06-13T10:36:10.6873543Z             {
2026-06-13T10:36:10.6873772Z               "path": "crates/spt-store/src/grants.rs",
2026-06-13T10:36:10.6874025Z               "line": 127
2026-06-13T10:36:10.6874225Z             },
2026-06-13T10:36:10.6874406Z             {
2026-06-13T10:36:10.6874636Z               "path": "crates/spt-store/src/grants.rs",
2026-06-13T10:36:10.6874879Z               "line": 142
2026-06-13T10:36:10.6875083Z             },
2026-06-13T10:36:10.6875266Z             {
2026-06-13T10:36:10.6875473Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.6875719Z               "line": 5413
2026-06-13T10:36:10.6875914Z             }
2026-06-13T10:36:10.6876090Z           ]
2026-06-13T10:36:10.6876278Z         },
2026-06-13T10:36:10.6876457Z         "int": {
2026-06-13T10:36:10.6876654Z           "complete": false,
2026-06-13T10:36:10.6876878Z           "evidence": []
2026-06-13T10:36:10.6877111Z         },
2026-06-13T10:36:10.6877297Z         "unit": {
2026-06-13T10:36:10.6877508Z           "complete": true,
2026-06-13T10:36:10.6877721Z           "evidence": [
2026-06-13T10:36:10.6877926Z             {
2026-06-13T10:36:10.6878166Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T10:36:10.6878436Z               "line": 334
2026-06-13T10:36:10.6878652Z             },
2026-06-13T10:36:10.6878849Z             {
2026-06-13T10:36:10.6879150Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T10:36:10.6879411Z               "line": 380
2026-06-13T10:36:10.6879610Z             },
2026-06-13T10:36:10.6879807Z             {
2026-06-13T10:36:10.6880037Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T10:36:10.6880322Z               "line": 391
2026-06-13T10:36:10.6880588Z             },
2026-06-13T10:36:10.6880780Z             {
2026-06-13T10:36:10.6880993Z               "path": "crates/spt-store/src/grants.rs",
2026-06-13T10:36:10.6881257Z               "line": 165
2026-06-13T10:36:10.6881454Z             },
2026-06-13T10:36:10.6881634Z             {
2026-06-13T10:36:10.6881834Z               "path": "crates/spt-store/src/grants.rs",
2026-06-13T10:36:10.6882102Z               "line": 184
2026-06-13T10:36:10.6882303Z             },
2026-06-13T10:36:10.6882477Z             {
2026-06-13T10:36:10.6882688Z               "path": "crates/spt-store/src/grants.rs",
2026-06-13T10:36:10.6882951Z               "line": 204
2026-06-13T10:36:10.6883151Z             },
2026-06-13T10:36:10.6883355Z             {
2026-06-13T10:36:10.6883552Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.6883797Z               "line": 6129
2026-06-13T10:36:10.6883999Z             }
2026-06-13T10:36:10.6884175Z           ]
2026-06-13T10:36:10.6884351Z         }
2026-06-13T10:36:10.6884529Z       }
2026-06-13T10:36:10.6884723Z     },
2026-06-13T10:36:10.6884900Z     {
2026-06-13T10:36:10.6885090Z       "id": "REQ-CONSENT-2",
2026-06-13T10:36:10.6886033Z       "title": "Interactive consent escalation: an ungated high-risk action routes a consent prompt to the user's most-recently-active session; allow-once / allow-always (writes a grant) / deny; pre-consent flags (can_shutdown, shell_wake_spawn_anywhere) author grants via manifest/settings (CONTEXT Consent & security gates)",
2026-06-13T10:36:10.6887003Z       "requiredStages": [
2026-06-13T10:36:10.6887386Z         "impl",
2026-06-13T10:36:10.6887576Z         "unit"
2026-06-13T10:36:10.6887767Z       ],
2026-06-13T10:36:10.6887952Z       "stages": {
2026-06-13T10:36:10.6888143Z         "doc": {
2026-06-13T10:36:10.6888340Z           "complete": false,
2026-06-13T10:36:10.6888563Z           "evidence": []
2026-06-13T10:36:10.6888768Z         },
2026-06-13T10:36:10.6889020Z         "impl": {
2026-06-13T10:36:10.6889231Z           "complete": true,
2026-06-13T10:36:10.6889452Z           "evidence": [
2026-06-13T10:36:10.6889681Z             {
2026-06-13T10:36:10.6889899Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T10:36:10.6890315Z               "line": 140
2026-06-13T10:36:10.6890519Z             },
2026-06-13T10:36:10.6890705Z             {
2026-06-13T10:36:10.6890926Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T10:36:10.6891183Z               "line": 165
2026-06-13T10:36:10.6891377Z             },
2026-06-13T10:36:10.6891563Z             {
2026-06-13T10:36:10.6891789Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T10:36:10.6892042Z               "line": 199
2026-06-13T10:36:10.6892262Z             },
2026-06-13T10:36:10.6892447Z             {
2026-06-13T10:36:10.6892657Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T10:36:10.6892910Z               "line": 241
2026-06-13T10:36:10.6893114Z             },
2026-06-13T10:36:10.6893291Z             {
2026-06-13T10:36:10.6893516Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T10:36:10.6893774Z               "line": 269
2026-06-13T10:36:10.6893978Z             },
2026-06-13T10:36:10.6894155Z             {
2026-06-13T10:36:10.6894362Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T10:36:10.6894653Z               "line": 300
2026-06-13T10:36:10.6894859Z             },
2026-06-13T10:36:10.6895045Z             {
2026-06-13T10:36:10.6895259Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.6895521Z               "line": 5278
2026-06-13T10:36:10.6895742Z             },
2026-06-13T10:36:10.6895922Z             {
2026-06-13T10:36:10.6896123Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.6896367Z               "line": 5336
2026-06-13T10:36:10.6896574Z             }
2026-06-13T10:36:10.6896769Z           ]
2026-06-13T10:36:10.6896972Z         },
2026-06-13T10:36:10.6897149Z         "int": {
2026-06-13T10:36:10.6897355Z           "complete": false,
2026-06-13T10:36:10.6897577Z           "evidence": []
2026-06-13T10:36:10.6897783Z         },
2026-06-13T10:36:10.6897965Z         "unit": {
2026-06-13T10:36:10.6898174Z           "complete": true,
2026-06-13T10:36:10.6898408Z           "evidence": [
2026-06-13T10:36:10.6898605Z             {
2026-06-13T10:36:10.6898841Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T10:36:10.6899219Z               "line": 419
2026-06-13T10:36:10.6899418Z             },
2026-06-13T10:36:10.6899599Z             {
2026-06-13T10:36:10.6899810Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T10:36:10.6900073Z               "line": 436
2026-06-13T10:36:10.6900279Z             },
2026-06-13T10:36:10.6900454Z             {
2026-06-13T10:36:10.6900670Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T10:36:10.6900946Z               "line": 472
2026-06-13T10:36:10.6901137Z             },
2026-06-13T10:36:10.6901317Z             {
2026-06-13T10:36:10.6901533Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T10:36:10.6901806Z               "line": 516
2026-06-13T10:36:10.6902003Z             },
2026-06-13T10:36:10.6902189Z             {
2026-06-13T10:36:10.6902396Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.6902649Z               "line": 7196
2026-06-13T10:36:10.6902845Z             },
2026-06-13T10:36:10.6903031Z             {
2026-06-13T10:36:10.6903232Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.6903475Z               "line": 7278
2026-06-13T10:36:10.6903670Z             }
2026-06-13T10:36:10.6904033Z           ]
2026-06-13T10:36:10.6904219Z         }
2026-06-13T10:36:10.6904410Z       }
2026-06-13T10:36:10.6904590Z     },
2026-06-13T10:36:10.6904758Z     {
2026-06-13T10:36:10.6904990Z       "id": "REQ-CONV-1",
2026-06-13T10:36:10.6906811Z       "title": "Peer address seeding, both cold starts: durable peer-addrs.json (identity dir) maps peer pubkey → last-known dialable address; the pump's resolver consults it FIRST with id-only discovery fallback on miss or dial failure (a stale addr never strands a peer); written by the pairing ceremony (both sides, from the live connection) and by the pump on successful connect; post-join first sync and post-restart resync converge in seconds, not ~1 min (M8 decisions 14, 20)",
2026-06-13T10:36:10.6908424Z       "requiredStages": [
2026-06-13T10:36:10.6908625Z         "impl",
2026-06-13T10:36:10.6908816Z         "unit"
2026-06-13T10:36:10.6909082Z       ],
2026-06-13T10:36:10.6909258Z       "stages": {
2026-06-13T10:36:10.6909441Z         "doc": {
2026-06-13T10:36:10.6909635Z           "complete": false,
2026-06-13T10:36:10.6909860Z           "evidence": []
2026-06-13T10:36:10.6910078Z         },
2026-06-13T10:36:10.6910247Z         "impl": {
2026-06-13T10:36:10.6910433Z           "complete": true,
2026-06-13T10:36:10.6910643Z           "evidence": [
2026-06-13T10:36:10.6910834Z             {
2026-06-13T10:36:10.6911039Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T10:36:10.6911305Z               "line": 696
2026-06-13T10:36:10.6911501Z             },
2026-06-13T10:36:10.6911673Z             {
2026-06-13T10:36:10.6911897Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T10:36:10.6912173Z               "line": 94
2026-06-13T10:36:10.6912356Z             },
2026-06-13T10:36:10.6912526Z             {
2026-06-13T10:36:10.6912735Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T10:36:10.6912995Z               "line": 345
2026-06-13T10:36:10.6913176Z             },
2026-06-13T10:36:10.6913363Z             {
2026-06-13T10:36:10.6913562Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T10:36:10.6913825Z               "line": 387
2026-06-13T10:36:10.6914007Z             },
2026-06-13T10:36:10.6914182Z             {
2026-06-13T10:36:10.6914392Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T10:36:10.6914646Z               "line": 472
2026-06-13T10:36:10.6914850Z             },
2026-06-13T10:36:10.6915026Z             {
2026-06-13T10:36:10.6915256Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.6915516Z               "line": 667
2026-06-13T10:36:10.6915726Z             },
2026-06-13T10:36:10.6915908Z             {
2026-06-13T10:36:10.6916117Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.6916379Z               "line": 693
2026-06-13T10:36:10.6916580Z             },
2026-06-13T10:36:10.6916766Z             {
2026-06-13T10:36:10.6917000Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T10:36:10.6917271Z               "line": 369
2026-06-13T10:36:10.6917472Z             },
2026-06-13T10:36:10.6917656Z             {
2026-06-13T10:36:10.6917866Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-13T10:36:10.6918136Z               "line": 19
2026-06-13T10:36:10.6918336Z             }
2026-06-13T10:36:10.6918518Z           ]
2026-06-13T10:36:10.6918697Z         },
2026-06-13T10:36:10.6918890Z         "int": {
2026-06-13T10:36:10.6919199Z           "complete": false,
2026-06-13T10:36:10.6919414Z           "evidence": []
2026-06-13T10:36:10.6919628Z         },
2026-06-13T10:36:10.6919823Z         "unit": {
2026-06-13T10:36:10.6920020Z           "complete": true,
2026-06-13T10:36:10.6920243Z           "evidence": [
2026-06-13T10:36:10.6920439Z             {
2026-06-13T10:36:10.6920657Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.6920921Z               "line": 1263
2026-06-13T10:36:10.6921113Z             },
2026-06-13T10:36:10.6921479Z             {
2026-06-13T10:36:10.6921680Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-13T10:36:10.6921942Z               "line": 108
2026-06-13T10:36:10.6922142Z             },
2026-06-13T10:36:10.6922324Z             {
2026-06-13T10:36:10.6922533Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-13T10:36:10.6922805Z               "line": 134
2026-06-13T10:36:10.6923006Z             },
2026-06-13T10:36:10.6923200Z             {
2026-06-13T10:36:10.6923417Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-13T10:36:10.6923685Z               "line": 144
2026-06-13T10:36:10.6923999Z             }
2026-06-13T10:36:10.6924165Z           ]
2026-06-13T10:36:10.6924342Z         }
2026-06-13T10:36:10.6924529Z       }
2026-06-13T10:36:10.6924704Z     },
2026-06-13T10:36:10.6924872Z     {
2026-06-13T10:36:10.6925048Z       "id": "REQ-CONV-2",
2026-06-13T10:36:10.7006031Z       "title": "Event-driven advertisement: endpoint online/offline transitions (ready-listener start/stop, rest-state transition, perch death) trigger an immediate advertise_local + peer push as a WAKE of the existing pump loop (no second advertisement path — epoch lease + visibility gates ride unchanged); the cadence stays the steady-state floor (M8 decision 15)",
2026-06-13T10:36:10.7007353Z       "requiredStages": [
2026-06-13T10:36:10.7007576Z         "impl",
2026-06-13T10:36:10.7007766Z         "unit"
2026-06-13T10:36:10.7007945Z       ],
2026-06-13T10:36:10.7008117Z       "stages": {
2026-06-13T10:36:10.7008307Z         "doc": {
2026-06-13T10:36:10.7008499Z           "complete": false,
2026-06-13T10:36:10.7008733Z           "evidence": []
2026-06-13T10:36:10.7008932Z         },
2026-06-13T10:36:10.7009218Z         "impl": {
2026-06-13T10:36:10.7009424Z           "complete": true,
2026-06-13T10:36:10.7009630Z           "evidence": [
2026-06-13T10:36:10.7009857Z             {
2026-06-13T10:36:10.7010114Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7010415Z               "line": 359
2026-06-13T10:36:10.7010610Z             },
2026-06-13T10:36:10.7010786Z             {
2026-06-13T10:36:10.7011006Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-13T10:36:10.7011274Z               "line": 119
2026-06-13T10:36:10.7011458Z             },
2026-06-13T10:36:10.7011645Z             {
2026-06-13T10:36:10.7011860Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7012140Z               "line": 761
2026-06-13T10:36:10.7012340Z             },
2026-06-13T10:36:10.7012528Z             {
2026-06-13T10:36:10.7012749Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7013010Z               "line": 772
2026-06-13T10:36:10.7013196Z             },
2026-06-13T10:36:10.7013367Z             {
2026-06-13T10:36:10.7013577Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7013864Z               "line": 334
2026-06-13T10:36:10.7014053Z             },
2026-06-13T10:36:10.7014240Z             {
2026-06-13T10:36:10.7014436Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7014707Z               "line": 2402
2026-06-13T10:36:10.7014936Z             },
2026-06-13T10:36:10.7015128Z             {
2026-06-13T10:36:10.7015317Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7015579Z               "line": 2418
2026-06-13T10:36:10.7015778Z             },
2026-06-13T10:36:10.7015962Z             {
2026-06-13T10:36:10.7016168Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7016416Z               "line": 2475
2026-06-13T10:36:10.7016644Z             }
2026-06-13T10:36:10.7016821Z           ]
2026-06-13T10:36:10.7016993Z         },
2026-06-13T10:36:10.7017164Z         "int": {
2026-06-13T10:36:10.7017346Z           "complete": false,
2026-06-13T10:36:10.7017555Z           "evidence": []
2026-06-13T10:36:10.7017769Z         },
2026-06-13T10:36:10.7017981Z         "unit": {
2026-06-13T10:36:10.7018250Z           "complete": true,
2026-06-13T10:36:10.7018815Z           "evidence": [
2026-06-13T10:36:10.7019101Z             {
2026-06-13T10:36:10.7019317Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.7019584Z               "line": 889
2026-06-13T10:36:10.7019778Z             },
2026-06-13T10:36:10.7019951Z             {
2026-06-13T10:36:10.7020160Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.7020417Z               "line": 1014
2026-06-13T10:36:10.7020609Z             },
2026-06-13T10:36:10.7020781Z             {
2026-06-13T10:36:10.7020989Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-13T10:36:10.7021398Z               "line": 215
2026-06-13T10:36:10.7021580Z             }
2026-06-13T10:36:10.7021742Z           ]
2026-06-13T10:36:10.7021924Z         }
2026-06-13T10:36:10.7022090Z       }
2026-06-13T10:36:10.7022247Z     },
2026-06-13T10:36:10.7022400Z     {
2026-06-13T10:36:10.7022576Z       "id": "REQ-DAEMON-1",
2026-06-13T10:36:10.7022863Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-13T10:36:10.7023177Z       "requiredStages": [
2026-06-13T10:36:10.7023372Z         "impl",
2026-06-13T10:36:10.7023536Z         "unit",
2026-06-13T10:36:10.7023712Z         "int"
2026-06-13T10:36:10.7023894Z       ],
2026-06-13T10:36:10.7024061Z       "stages": {
2026-06-13T10:36:10.7024232Z         "doc": {
2026-06-13T10:36:10.7024419Z           "complete": false,
2026-06-13T10:36:10.7024638Z           "evidence": []
2026-06-13T10:36:10.7024833Z         },
2026-06-13T10:36:10.7025001Z         "impl": {
2026-06-13T10:36:10.7025195Z           "complete": true,
2026-06-13T10:36:10.7025410Z           "evidence": [
2026-06-13T10:36:10.7025592Z             {
2026-06-13T10:36:10.7025796Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-13T10:36:10.7026054Z               "line": 12
2026-06-13T10:36:10.7026234Z             },
2026-06-13T10:36:10.7026404Z             {
2026-06-13T10:36:10.7026618Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7026885Z               "line": 16
2026-06-13T10:36:10.7027080Z             },
2026-06-13T10:36:10.7027249Z             {
2026-06-13T10:36:10.7027452Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7027710Z               "line": 259
2026-06-13T10:36:10.7027902Z             },
2026-06-13T10:36:10.7028067Z             {
2026-06-13T10:36:10.7028269Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-13T10:36:10.7028517Z               "line": 15
2026-06-13T10:36:10.7028705Z             },
2026-06-13T10:36:10.7028881Z             {
2026-06-13T10:36:10.7029209Z               "path": "crates/spt/src/api/live.rs",
2026-06-13T10:36:10.7029461Z               "line": 13
2026-06-13T10:36:10.7029647Z             }
2026-06-13T10:36:10.7029824Z           ]
2026-06-13T10:36:10.7030005Z         },
2026-06-13T10:36:10.7030172Z         "int": {
2026-06-13T10:36:10.7030352Z           "complete": true,
2026-06-13T10:36:10.7030572Z           "evidence": [
2026-06-13T10:36:10.7030774Z             {
2026-06-13T10:36:10.7030996Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-13T10:36:10.7031264Z               "line": 32
2026-06-13T10:36:10.7031451Z             }
2026-06-13T10:36:10.7031629Z           ]
2026-06-13T10:36:10.7031797Z         },
2026-06-13T10:36:10.7031958Z         "unit": {
2026-06-13T10:36:10.7032145Z           "complete": true,
2026-06-13T10:36:10.7032336Z           "evidence": [
2026-06-13T10:36:10.7032531Z             {
2026-06-13T10:36:10.7032732Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-13T10:36:10.7032990Z               "line": 285
2026-06-13T10:36:10.7033180Z             },
2026-06-13T10:36:10.7033347Z             {
2026-06-13T10:36:10.7033541Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-13T10:36:10.7033784Z               "line": 293
2026-06-13T10:36:10.7033960Z             },
2026-06-13T10:36:10.7034130Z             {
2026-06-13T10:36:10.7034463Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-13T10:36:10.7034731Z               "line": 309
2026-06-13T10:36:10.7034917Z             },
2026-06-13T10:36:10.7035093Z             {
2026-06-13T10:36:10.7035280Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-13T10:36:10.7035517Z               "line": 317
2026-06-13T10:36:10.7035709Z             },
2026-06-13T10:36:10.7035876Z             {
2026-06-13T10:36:10.7036075Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7036332Z               "line": 609
2026-06-13T10:36:10.7036515Z             },
2026-06-13T10:36:10.7036809Z             {
2026-06-13T10:36:10.7037016Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7037265Z               "line": 679
2026-06-13T10:36:10.7037494Z             },
2026-06-13T10:36:10.7037664Z             {
2026-06-13T10:36:10.7037865Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-13T10:36:10.7038099Z               "line": 104
2026-06-13T10:36:10.7038294Z             },
2026-06-13T10:36:10.7038476Z             {
2026-06-13T10:36:10.7038675Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-13T10:36:10.7038909Z               "line": 129
2026-06-13T10:36:10.7039214Z             }
2026-06-13T10:36:10.7039399Z           ]
2026-06-13T10:36:10.7039583Z         }
2026-06-13T10:36:10.7039745Z       }
2026-06-13T10:36:10.7039907Z     },
2026-06-13T10:36:10.7040070Z     {
2026-06-13T10:36:10.7040245Z       "id": "REQ-DAEMON-2",
2026-06-13T10:36:10.7040503Z       "title": "Broker/brain split for seamless self-update",
2026-06-13T10:36:10.7040808Z       "requiredStages": [
2026-06-13T10:36:10.7041033Z         "impl",
2026-06-13T10:36:10.7041218Z         "unit",
2026-06-13T10:36:10.7041381Z         "int"
2026-06-13T10:36:10.7041556Z       ],
2026-06-13T10:36:10.7041738Z       "stages": {
2026-06-13T10:36:10.7041930Z         "doc": {
2026-06-13T10:36:10.7042137Z           "complete": true,
2026-06-13T10:36:10.7042405Z           "evidence": [
2026-06-13T10:36:10.7042653Z             {
2026-06-13T10:36:10.7042987Z               "path": "docs/TWO-HOST-RUNBOOK.md",
2026-06-13T10:36:10.7043477Z               "line": 250
2026-06-13T10:36:10.7043912Z             }
2026-06-13T10:36:10.7044213Z           ]
2026-06-13T10:36:10.7044506Z         },
2026-06-13T10:36:10.7044838Z         "impl": {
2026-06-13T10:36:10.7045138Z           "complete": true,
2026-06-13T10:36:10.7045516Z           "evidence": [
2026-06-13T10:36:10.7045806Z             {
2026-06-13T10:36:10.7046145Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T10:36:10.7046521Z               "line": 23
2026-06-13T10:36:10.7046813Z             },
2026-06-13T10:36:10.7047156Z             {
2026-06-13T10:36:10.7047455Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T10:36:10.7047867Z               "line": 730
2026-06-13T10:36:10.7048144Z             },
2026-06-13T10:36:10.7048520Z             {
2026-06-13T10:36:10.7048806Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T10:36:10.7049807Z               "line": 783
2026-06-13T10:36:10.7050129Z             },
2026-06-13T10:36:10.7050373Z             {
2026-06-13T10:36:10.7050753Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T10:36:10.7051087Z               "line": 968
2026-06-13T10:36:10.7051421Z             },
2026-06-13T10:36:10.7051721Z             {
2026-06-13T10:36:10.7052040Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T10:36:10.7052413Z               "line": 32
2026-06-13T10:36:10.7052684Z             },
2026-06-13T10:36:10.7052998Z             {
2026-06-13T10:36:10.7053294Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T10:36:10.7053604Z               "line": 255
2026-06-13T10:36:10.7053971Z             },
2026-06-13T10:36:10.7054228Z             {
2026-06-13T10:36:10.7054562Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T10:36:10.7054928Z               "line": 687
2026-06-13T10:36:10.7055354Z             },
2026-06-13T10:36:10.7055669Z             {
2026-06-13T10:36:10.7055960Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T10:36:10.7056328Z               "line": 953
2026-06-13T10:36:10.7056662Z             },
2026-06-13T10:36:10.7056923Z             {
2026-06-13T10:36:10.7057262Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-13T10:36:10.7057611Z               "line": 11
2026-06-13T10:36:10.7057909Z             },
2026-06-13T10:36:10.7058179Z             {
2026-06-13T10:36:10.7058484Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7059156Z               "line": 146
2026-06-13T10:36:10.7059452Z             },
2026-06-13T10:36:10.7059729Z             {
2026-06-13T10:36:10.7060053Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7060391Z               "line": 274
2026-06-13T10:36:10.7060693Z             },
2026-06-13T10:36:10.7060956Z             {
2026-06-13T10:36:10.7061228Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-13T10:36:10.7061666Z               "line": 13
2026-06-13T10:36:10.7061938Z             },
2026-06-13T10:36:10.7062238Z             {
2026-06-13T10:36:10.7062534Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T10:36:10.7062863Z               "line": 27
2026-06-13T10:36:10.7063224Z             },
2026-06-13T10:36:10.7063478Z             {
2026-06-13T10:36:10.7063878Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T10:36:10.7064225Z               "line": 109
2026-06-13T10:36:10.7064488Z             },
2026-06-13T10:36:10.7064836Z             {
2026-06-13T10:36:10.7065141Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T10:36:10.7065497Z               "line": 447
2026-06-13T10:36:10.7065777Z             },
2026-06-13T10:36:10.7066044Z             {
2026-06-13T10:36:10.7066440Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T10:36:10.7066815Z               "line": 614
2026-06-13T10:36:10.7067169Z             },
2026-06-13T10:36:10.7067508Z             {
2026-06-13T10:36:10.7067867Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T10:36:10.7068276Z               "line": 715
2026-06-13T10:36:10.7068575Z             },
2026-06-13T10:36:10.7068916Z             {
2026-06-13T10:36:10.7069302Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T10:36:10.7069678Z               "line": 764
2026-06-13T10:36:10.7070017Z             },
2026-06-13T10:36:10.7070298Z             {
2026-06-13T10:36:10.7070584Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T10:36:10.7070993Z               "line": 812
2026-06-13T10:36:10.7071301Z             },
2026-06-13T10:36:10.7071653Z             {
2026-06-13T10:36:10.7071949Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-13T10:36:10.7072278Z               "line": 10
2026-06-13T10:36:10.7072612Z             }
2026-06-13T10:36:10.7072879Z           ]
2026-06-13T10:36:10.7073156Z         },
2026-06-13T10:36:10.7073451Z         "int": {
2026-06-13T10:36:10.7073710Z           "complete": true,
2026-06-13T10:36:10.7074095Z           "evidence": [
2026-06-13T10:36:10.7074367Z             {
2026-06-13T10:36:10.7074700Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-13T10:36:10.7075086Z               "line": 17
2026-06-13T10:36:10.7075353Z             },
2026-06-13T10:36:10.7075663Z             {
2026-06-13T10:36:10.7075974Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-13T10:36:10.7076413Z               "line": 71
2026-06-13T10:36:10.7076713Z             },
2026-06-13T10:36:10.7076981Z             {
2026-06-13T10:36:10.7077328Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-13T10:36:10.7077667Z               "line": 91
2026-06-13T10:36:10.7077934Z             },
2026-06-13T10:36:10.7078225Z             {
2026-06-13T10:36:10.7078512Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-13T10:36:10.7078934Z               "line": 167
2026-06-13T10:36:10.7079481Z             },
2026-06-13T10:36:10.7079744Z             {
2026-06-13T10:36:10.7080087Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-13T10:36:10.7080439Z               "line": 209
2026-06-13T10:36:10.7080726Z             },
2026-06-13T10:36:10.7080993Z             {
2026-06-13T10:36:10.7081294Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-13T10:36:10.7081711Z               "line": 128
2026-06-13T10:36:10.7081995Z             },
2026-06-13T10:36:10.7082262Z             {
2026-06-13T10:36:10.7082577Z               "path": "crates/spt/tests/brain_survive.rs",
2026-06-13T10:36:10.7083053Z               "line": 59
2026-06-13T10:36:10.7083397Z             }
2026-06-13T10:36:10.7083649Z           ]
2026-06-13T10:36:10.7083960Z         },
2026-06-13T10:36:10.7084256Z         "unit": {
2026-06-13T10:36:10.7084516Z           "complete": true,
2026-06-13T10:36:10.7084850Z           "evidence": [
2026-06-13T10:36:10.7085107Z             {
2026-06-13T10:36:10.7085379Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-13T10:36:10.7085766Z               "line": 62
2026-06-13T10:36:10.7086076Z             },
2026-06-13T10:36:10.7086419Z             {
2026-06-13T10:36:10.7086708Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-13T10:36:10.7087035Z               "line": 76
2026-06-13T10:36:10.7087359Z             },
2026-06-13T10:36:10.7087607Z             {
2026-06-13T10:36:10.7087917Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-13T10:36:10.7088260Z               "line": 88
2026-06-13T10:36:10.7088570Z             },
2026-06-13T10:36:10.7088881Z             {
2026-06-13T10:36:10.7089258Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-13T10:36:10.7089623Z               "line": 294
2026-06-13T10:36:10.7089916Z             },
2026-06-13T10:36:10.7090169Z             {
2026-06-13T10:36:10.7100428Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-13T10:36:10.7100743Z               "line": 620
2026-06-13T10:36:10.7100939Z             },
2026-06-13T10:36:10.7101111Z             {
2026-06-13T10:36:10.7101316Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-13T10:36:10.7101560Z               "line": 628
2026-06-13T10:36:10.7101755Z             },
2026-06-13T10:36:10.7101926Z             {
2026-06-13T10:36:10.7102118Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-13T10:36:10.7102355Z               "line": 645
2026-06-13T10:36:10.7102542Z             },
2026-06-13T10:36:10.7102702Z             {
2026-06-13T10:36:10.7102887Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-13T10:36:10.7103135Z               "line": 699
2026-06-13T10:36:10.7103324Z             },
2026-06-13T10:36:10.7103496Z             {
2026-06-13T10:36:10.7103687Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T10:36:10.7103939Z               "line": 883
2026-06-13T10:36:10.7104126Z             },
2026-06-13T10:36:10.7104288Z             {
2026-06-13T10:36:10.7104483Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T10:36:10.7104723Z               "line": 895
2026-06-13T10:36:10.7104908Z             },
2026-06-13T10:36:10.7105071Z             {
2026-06-13T10:36:10.7105271Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-13T10:36:10.7105522Z               "line": 110
2026-06-13T10:36:10.7105713Z             },
2026-06-13T10:36:10.7105875Z             {
2026-06-13T10:36:10.7106076Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-13T10:36:10.7106333Z               "line": 142
2026-06-13T10:36:10.7106518Z             }
2026-06-13T10:36:10.7106695Z           ]
2026-06-13T10:36:10.7106856Z         }
2026-06-13T10:36:10.7107014Z       }
2026-06-13T10:36:10.7107176Z     },
2026-06-13T10:36:10.7107339Z     {
2026-06-13T10:36:10.7107510Z       "id": "REQ-DAEMON-3",
2026-06-13T10:36:10.7107776Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-13T10:36:10.7108070Z       "requiredStages": [
2026-06-13T10:36:10.7108494Z         "impl",
2026-06-13T10:36:10.7108675Z         "unit",
2026-06-13T10:36:10.7108843Z         "int"
2026-06-13T10:36:10.7109070Z       ],
2026-06-13T10:36:10.7109243Z       "stages": {
2026-06-13T10:36:10.7109424Z         "doc": {
2026-06-13T10:36:10.7109615Z           "complete": false,
2026-06-13T10:36:10.7109821Z           "evidence": []
2026-06-13T10:36:10.7110015Z         },
2026-06-13T10:36:10.7110183Z         "impl": {
2026-06-13T10:36:10.7110378Z           "complete": true,
2026-06-13T10:36:10.7110577Z           "evidence": [
2026-06-13T10:36:10.7110753Z             {
2026-06-13T10:36:10.7111075Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7111332Z               "line": 14
2026-06-13T10:36:10.7111519Z             },
2026-06-13T10:36:10.7111695Z             {
2026-06-13T10:36:10.7111895Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-13T10:36:10.7112153Z               "line": 11
2026-06-13T10:36:10.7112344Z             },
2026-06-13T10:36:10.7112514Z             {
2026-06-13T10:36:10.7112706Z               "path": "crates/spt/src/api/mod.rs",
2026-06-13T10:36:10.7112940Z               "line": 262
2026-06-13T10:36:10.7113130Z             },
2026-06-13T10:36:10.7113296Z             {
2026-06-13T10:36:10.7113484Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7113723Z               "line": 1433
2026-06-13T10:36:10.7113918Z             },
2026-06-13T10:36:10.7114086Z             {
2026-06-13T10:36:10.7114267Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7114490Z               "line": 3362
2026-06-13T10:36:10.7114686Z             },
2026-06-13T10:36:10.7114853Z             {
2026-06-13T10:36:10.7115034Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7115259Z               "line": 3383
2026-06-13T10:36:10.7115458Z             }
2026-06-13T10:36:10.7115612Z           ]
2026-06-13T10:36:10.7115778Z         },
2026-06-13T10:36:10.7115937Z         "int": {
2026-06-13T10:36:10.7116134Z           "complete": true,
2026-06-13T10:36:10.7116335Z           "evidence": [
2026-06-13T10:36:10.7116521Z             {
2026-06-13T10:36:10.7116720Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-13T10:36:10.7116993Z               "line": 49
2026-06-13T10:36:10.7117180Z             },
2026-06-13T10:36:10.7117350Z             {
2026-06-13T10:36:10.7117551Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-13T10:36:10.7117795Z               "line": 439
2026-06-13T10:36:10.7117984Z             }
2026-06-13T10:36:10.7118148Z           ]
2026-06-13T10:36:10.7118318Z         },
2026-06-13T10:36:10.7118484Z         "unit": {
2026-06-13T10:36:10.7118672Z           "complete": true,
2026-06-13T10:36:10.7118874Z           "evidence": [
2026-06-13T10:36:10.7119160Z             {
2026-06-13T10:36:10.7119364Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7119612Z               "line": 767
2026-06-13T10:36:10.7119803Z             },
2026-06-13T10:36:10.7119979Z             {
2026-06-13T10:36:10.7120160Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7120395Z               "line": 8274
2026-06-13T10:36:10.7120580Z             }
2026-06-13T10:36:10.7120743Z           ]
2026-06-13T10:36:10.7120900Z         }
2026-06-13T10:36:10.7121062Z       }
2026-06-13T10:36:10.7121217Z     },
2026-06-13T10:36:10.7121370Z     {
2026-06-13T10:36:10.7121539Z       "id": "REQ-DAEMON-4",
2026-06-13T10:36:10.7121769Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-13T10:36:10.7122032Z       "requiredStages": [
2026-06-13T10:36:10.7122231Z         "impl",
2026-06-13T10:36:10.7122408Z         "unit",
2026-06-13T10:36:10.7122574Z         "int"
2026-06-13T10:36:10.7122741Z       ],
2026-06-13T10:36:10.7122904Z       "stages": {
2026-06-13T10:36:10.7123074Z         "doc": {
2026-06-13T10:36:10.7123253Z           "complete": false,
2026-06-13T10:36:10.7123457Z           "evidence": []
2026-06-13T10:36:10.7123653Z         },
2026-06-13T10:36:10.7123942Z         "impl": {
2026-06-13T10:36:10.7124120Z           "complete": true,
2026-06-13T10:36:10.7124317Z           "evidence": [
2026-06-13T10:36:10.7124497Z             {
2026-06-13T10:36:10.7124702Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7124960Z               "line": 414
2026-06-13T10:36:10.7125152Z             },
2026-06-13T10:36:10.7125318Z             {
2026-06-13T10:36:10.7125533Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7125781Z               "line": 479
2026-06-13T10:36:10.7125971Z             },
2026-06-13T10:36:10.7126247Z             {
2026-06-13T10:36:10.7126444Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7126689Z               "line": 501
2026-06-13T10:36:10.7126877Z             }
2026-06-13T10:36:10.7127042Z           ]
2026-06-13T10:36:10.7127215Z         },
2026-06-13T10:36:10.7127387Z         "int": {
2026-06-13T10:36:10.7127563Z           "complete": true,
2026-06-13T10:36:10.7127787Z           "evidence": [
2026-06-13T10:36:10.7127982Z             {
2026-06-13T10:36:10.7128202Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-13T10:36:10.7128468Z               "line": 37
2026-06-13T10:36:10.7128660Z             }
2026-06-13T10:36:10.7128844Z           ]
2026-06-13T10:36:10.7129232Z         },
2026-06-13T10:36:10.7129400Z         "unit": {
2026-06-13T10:36:10.7129580Z           "complete": true,
2026-06-13T10:36:10.7129790Z           "evidence": [
2026-06-13T10:36:10.7129987Z             {
2026-06-13T10:36:10.7130181Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-13T10:36:10.7130448Z               "line": 428
2026-06-13T10:36:10.7130626Z             },
2026-06-13T10:36:10.7130796Z             {
2026-06-13T10:36:10.7130997Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7131256Z               "line": 907
2026-06-13T10:36:10.7131440Z             },
2026-06-13T10:36:10.7131618Z             {
2026-06-13T10:36:10.7131820Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7132071Z               "line": 977
2026-06-13T10:36:10.7132263Z             },
2026-06-13T10:36:10.7132437Z             {
2026-06-13T10:36:10.7132653Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7132901Z               "line": 1007
2026-06-13T10:36:10.7133091Z             },
2026-06-13T10:36:10.7133258Z             {
2026-06-13T10:36:10.7133459Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7133716Z               "line": 1040
2026-06-13T10:36:10.7133907Z             }
2026-06-13T10:36:10.7134079Z           ]
2026-06-13T10:36:10.7134250Z         }
2026-06-13T10:36:10.7134411Z       }
2026-06-13T10:36:10.7134562Z     },
2026-06-13T10:36:10.7134714Z     {
2026-06-13T10:36:10.7134887Z       "id": "REQ-DAEMON-5",
2026-06-13T10:36:10.7136569Z       "title": "Pump liveness: the peer pump writes a last-tick heartbeat consumed by daemon status / subnet status (decision 23 render legs in REQ-CLI-2/REQ-SUBNET-8); the daemon supervises the pump task — a panic is caught, logged loudly, and the pump restarts with capped backoff (≤5 min), so a 5.9-class death self-heals visibly instead of silently halving the daemon (M8 decision 23; field motivation: hfenduleam 2026-06-07 half-death)",
2026-06-13T10:36:10.7137888Z       "requiredStages": [
2026-06-13T10:36:10.7138114Z         "impl",
2026-06-13T10:36:10.7138304Z         "unit"
2026-06-13T10:36:10.7138503Z       ],
2026-06-13T10:36:10.7138690Z       "stages": {
2026-06-13T10:36:10.7138881Z         "doc": {
2026-06-13T10:36:10.7139225Z           "complete": false,
2026-06-13T10:36:10.7139442Z           "evidence": []
2026-06-13T10:36:10.7139647Z         },
2026-06-13T10:36:10.7139820Z         "impl": {
2026-06-13T10:36:10.7140008Z           "complete": true,
2026-06-13T10:36:10.7140212Z           "evidence": [
2026-06-13T10:36:10.7140417Z             {
2026-06-13T10:36:10.7140637Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.7141085Z               "line": 476
2026-06-13T10:36:10.7141290Z             },
2026-06-13T10:36:10.7141462Z             {
2026-06-13T10:36:10.7141681Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.7141933Z               "line": 769
2026-06-13T10:36:10.7142126Z             },
2026-06-13T10:36:10.7142305Z             {
2026-06-13T10:36:10.7142518Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.7142794Z               "line": 782
2026-06-13T10:36:10.7142993Z             },
2026-06-13T10:36:10.7143331Z             {
2026-06-13T10:36:10.7143552Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.7143809Z               "line": 800
2026-06-13T10:36:10.7144010Z             },
2026-06-13T10:36:10.7144195Z             {
2026-06-13T10:36:10.7144406Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.7144664Z               "line": 841
2026-06-13T10:36:10.7144885Z             }
2026-06-13T10:36:10.7145066Z           ]
2026-06-13T10:36:10.7145235Z         },
2026-06-13T10:36:10.7145413Z         "int": {
2026-06-13T10:36:10.7145608Z           "complete": false,
2026-06-13T10:36:10.7145818Z           "evidence": []
2026-06-13T10:36:10.7146014Z         },
2026-06-13T10:36:10.7146180Z         "unit": {
2026-06-13T10:36:10.7146362Z           "complete": true,
2026-06-13T10:36:10.7146566Z           "evidence": [
2026-06-13T10:36:10.7146762Z             {
2026-06-13T10:36:10.7146977Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.7147254Z               "line": 1189
2026-06-13T10:36:10.7147449Z             },
2026-06-13T10:36:10.7147631Z             {
2026-06-13T10:36:10.7147829Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.7148081Z               "line": 1213
2026-06-13T10:36:10.7148273Z             },
2026-06-13T10:36:10.7148439Z             {
2026-06-13T10:36:10.7148640Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.7148917Z               "line": 1239
2026-06-13T10:36:10.7149208Z             }
2026-06-13T10:36:10.7149388Z           ]
2026-06-13T10:36:10.7149575Z         }
2026-06-13T10:36:10.7149751Z       }
2026-06-13T10:36:10.7149917Z     },
2026-06-13T10:36:10.7150107Z     {
2026-06-13T10:36:10.7150286Z       "id": "REQ-DAEMON-6",
2026-06-13T10:36:10.7152390Z       "title": "Service-aware `daemon start`/`stop`: when an OS service manager has a registered spt-daemon for this user, `spt daemon start` and `spt daemon stop` drive THAT service (so stop doesn't IPC-kill a unit that auto-restart-fights for the broker socket — the kitsubito 2026-06-08 loop). `start` graduates from a `run` alias to a first-class background verb (ensure-up, idempotent, non-blocking); stop routes managed→manager, manual→IPC. Linux=systemd user unit (`systemctl --user start|stop|is-active spt-daemon`, detected by unit-file presence); Windows=no controllable manager (the logon task is boot-only), so start=detached spawn / stop=IPC.",
2026-06-13T10:36:10.7154144Z       "requiredStages": [
2026-06-13T10:36:10.7154369Z         "impl",
2026-06-13T10:36:10.7154555Z         "unit"
2026-06-13T10:36:10.7154736Z       ],
2026-06-13T10:36:10.7154909Z       "stages": {
2026-06-13T10:36:10.7155089Z         "doc": {
2026-06-13T10:36:10.7155272Z           "complete": false,
2026-06-13T10:36:10.7155483Z           "evidence": []
2026-06-13T10:36:10.7155673Z         },
2026-06-13T10:36:10.7155848Z         "impl": {
2026-06-13T10:36:10.7156044Z           "complete": true,
2026-06-13T10:36:10.7156250Z           "evidence": [
2026-06-13T10:36:10.7156459Z             {
2026-06-13T10:36:10.7156679Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7156955Z               "line": 426
2026-06-13T10:36:10.7157156Z             },
2026-06-13T10:36:10.7157351Z             {
2026-06-13T10:36:10.7157565Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7158018Z               "line": 457
2026-06-13T10:36:10.7158219Z             },
2026-06-13T10:36:10.7158403Z             {
2026-06-13T10:36:10.7158614Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-13T10:36:10.7158881Z               "line": 55
2026-06-13T10:36:10.7159167Z             },
2026-06-13T10:36:10.7159348Z             {
2026-06-13T10:36:10.7159558Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-13T10:36:10.7159820Z               "line": 70
2026-06-13T10:36:10.7160031Z             },
2026-06-13T10:36:10.7160210Z             {
2026-06-13T10:36:10.7160412Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7160781Z               "line": 1487
2026-06-13T10:36:10.7160985Z             },
2026-06-13T10:36:10.7161170Z             {
2026-06-13T10:36:10.7161372Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7161624Z               "line": 1513
2026-06-13T10:36:10.7161837Z             }
2026-06-13T10:36:10.7162015Z           ]
2026-06-13T10:36:10.7162200Z         },
2026-06-13T10:36:10.7162381Z         "int": {
2026-06-13T10:36:10.7162578Z           "complete": false,
2026-06-13T10:36:10.7162801Z           "evidence": []
2026-06-13T10:36:10.7163002Z         },
2026-06-13T10:36:10.7163169Z         "unit": {
2026-06-13T10:36:10.7163363Z           "complete": true,
2026-06-13T10:36:10.7163577Z           "evidence": [
2026-06-13T10:36:10.7163775Z             {
2026-06-13T10:36:10.7163986Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-13T10:36:10.7164257Z               "line": 288
2026-06-13T10:36:10.7164461Z             },
2026-06-13T10:36:10.7164663Z             {
2026-06-13T10:36:10.7164878Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-13T10:36:10.7165159Z               "line": 299
2026-06-13T10:36:10.7165377Z             },
2026-06-13T10:36:10.7165559Z             {
2026-06-13T10:36:10.7165774Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-13T10:36:10.7166043Z               "line": 325
2026-06-13T10:36:10.7166270Z             },
2026-06-13T10:36:10.7166476Z             {
2026-06-13T10:36:10.7166709Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-13T10:36:10.7166981Z               "line": 351
2026-06-13T10:36:10.7167201Z             }
2026-06-13T10:36:10.7167421Z           ]
2026-06-13T10:36:10.7167615Z         }
2026-06-13T10:36:10.7167792Z       }
2026-06-13T10:36:10.7167972Z     },
2026-06-13T10:36:10.7168149Z     {
2026-06-13T10:36:10.7168355Z       "id": "REQ-DAEMON-7",
2026-06-13T10:36:10.7170004Z       "title": "`daemon run` is foreground-consistent on every platform: the invoking process IS the daemon, blocks until signalled, never auto-detaches or respawns into an invisible background task. The detached/de-elevated background behavior lives ONLY in `start`. Windows: an ELEVATED `daemon run` refuses with guidance (use `start`, or an unelevated shell) instead of respawning detached/de-elevated and vanishing (KH 5.7 preserved — it still never serves elevated).",
2026-06-13T10:36:10.7171364Z       "requiredStages": [
2026-06-13T10:36:10.7171578Z         "impl",
2026-06-13T10:36:10.7171773Z         "unit"
2026-06-13T10:36:10.7171964Z       ],
2026-06-13T10:36:10.7172169Z       "stages": {
2026-06-13T10:36:10.7172369Z         "doc": {
2026-06-13T10:36:10.7172580Z           "complete": false,
2026-06-13T10:36:10.7172823Z           "evidence": []
2026-06-13T10:36:10.7173080Z         },
2026-06-13T10:36:10.7173266Z         "impl": {
2026-06-13T10:36:10.7173467Z           "complete": true,
2026-06-13T10:36:10.7173676Z           "evidence": [
2026-06-13T10:36:10.7173891Z             {
2026-06-13T10:36:10.7174109Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7174373Z               "line": 476
2026-06-13T10:36:10.7174574Z             },
2026-06-13T10:36:10.7174770Z             {
2026-06-13T10:36:10.7174988Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T10:36:10.7175255Z               "line": 601
2026-06-13T10:36:10.7175457Z             },
2026-06-13T10:36:10.7175804Z             {
2026-06-13T10:36:10.7176542Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-13T10:36:10.7176954Z               "line": 89
2026-06-13T10:36:10.7177254Z             },
2026-06-13T10:36:10.7177560Z             {
2026-06-13T10:36:10.7188182Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7188473Z               "line": 1434
2026-06-13T10:36:10.7188725Z             }
2026-06-13T10:36:10.7188907Z           ]
2026-06-13T10:36:10.7189180Z         },
2026-06-13T10:36:10.7189364Z         "int": {
2026-06-13T10:36:10.7189565Z           "complete": false,
2026-06-13T10:36:10.7190031Z           "evidence": []
2026-06-13T10:36:10.7190223Z         },
2026-06-13T10:36:10.7190408Z         "unit": {
2026-06-13T10:36:10.7190613Z           "complete": true,
2026-06-13T10:36:10.7190842Z           "evidence": [
2026-06-13T10:36:10.7191038Z             {
2026-06-13T10:36:10.7191257Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-13T10:36:10.7191529Z               "line": 314
2026-06-13T10:36:10.7191706Z             },
2026-06-13T10:36:10.7191806Z             {
2026-06-13T10:36:10.7191910Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7192020Z               "line": 5949
2026-06-13T10:36:10.7192106Z             }
2026-06-13T10:36:10.7192205Z           ]
2026-06-13T10:36:10.7192290Z         }
2026-06-13T10:36:10.7192395Z       }
2026-06-13T10:36:10.7192494Z     },
2026-06-13T10:36:10.7192579Z     {
2026-06-13T10:36:10.7192694Z       "id": "REQ-DAEMON-8",
2026-06-13T10:36:10.7193724Z       "title": "Internal auto-start prefers the service: `ensure_running` (any spt command's implicit daemon start, REQ-DAEMON-3) routes through the service-aware start path — when a manager has a registered service it starts THAT, never a competing manual `spawn_detached` daemon that would fight the service for the socket.",
2026-06-13T10:36:10.7193852Z       "requiredStages": [
2026-06-13T10:36:10.7193963Z         "impl",
2026-06-13T10:36:10.7194043Z         "unit"
2026-06-13T10:36:10.7194143Z       ],
2026-06-13T10:36:10.7194234Z       "stages": {
2026-06-13T10:36:10.7194325Z         "doc": {
2026-06-13T10:36:10.7194419Z           "complete": false,
2026-06-13T10:36:10.7194529Z           "evidence": []
2026-06-13T10:36:10.7194616Z         },
2026-06-13T10:36:10.7194701Z         "impl": {
2026-06-13T10:36:10.7194810Z           "complete": true,
2026-06-13T10:36:10.7194892Z           "evidence": [
2026-06-13T10:36:10.7194993Z             {
2026-06-13T10:36:10.7195119Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7195234Z               "line": 376
2026-06-13T10:36:10.7195338Z             },
2026-06-13T10:36:10.7195422Z             {
2026-06-13T10:36:10.7195546Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-13T10:36:10.7195633Z               "line": 56
2026-06-13T10:36:10.7195728Z             }
2026-06-13T10:36:10.7195818Z           ]
2026-06-13T10:36:10.7195914Z         },
2026-06-13T10:36:10.7196028Z         "int": {
2026-06-13T10:36:10.7196132Z           "complete": false,
2026-06-13T10:36:10.7196234Z           "evidence": []
2026-06-13T10:36:10.7196319Z         },
2026-06-13T10:36:10.7196423Z         "unit": {
2026-06-13T10:36:10.7196520Z           "complete": true,
2026-06-13T10:36:10.7196628Z           "evidence": [
2026-06-13T10:36:10.7196733Z             {
2026-06-13T10:36:10.7196858Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-13T10:36:10.7196957Z               "line": 288
2026-06-13T10:36:10.7197043Z             },
2026-06-13T10:36:10.7197135Z             {
2026-06-13T10:36:10.7197263Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-13T10:36:10.7197372Z               "line": 325
2026-06-13T10:36:10.7197469Z             }
2026-06-13T10:36:10.7197550Z           ]
2026-06-13T10:36:10.7197648Z         }
2026-06-13T10:36:10.7197733Z       }
2026-06-13T10:36:10.7197843Z     },
2026-06-13T10:36:10.7197928Z     {
2026-06-13T10:36:10.7198032Z       "id": "REQ-DAEMON-9",
2026-06-13T10:36:10.7205534Z       "title": "Net-bind boot-race resilience: a daemon that comes up net-less (NetHost::start failed — e.g. the systemd unit autostarted before the network/DNS stack was ready, `Failed to create an address lookup service`) must SELF-HEAL — retry the net bring-up in the background with capped backoff and, on success, attach net to the broker + spawn the dispatcher/peer-pump (which today are gated on `net_up` at boot and so never start, leaving the node silently unreachable until a manual restart — kitsubito 2026-06-08). Status surfaces the net-less state honestly (a net-less broker renders as 'no connection', not only a pump-STALLED line with a bogus pre-boot heartbeat age). The installer's autostart unit waits for the network (`Wants=/After=network-online.target`) as belt-and-suspenders.",
2026-06-13T10:36:10.7205851Z       "requiredStages": [
2026-06-13T10:36:10.7205944Z         "impl",
2026-06-13T10:36:10.7206039Z         "unit"
2026-06-13T10:36:10.7206140Z       ],
2026-06-13T10:36:10.7206221Z       "stages": {
2026-06-13T10:36:10.7206320Z         "doc": {
2026-06-13T10:36:10.7206416Z           "complete": false,
2026-06-13T10:36:10.7206517Z           "evidence": []
2026-06-13T10:36:10.7206607Z         },
2026-06-13T10:36:10.7206707Z         "impl": {
2026-06-13T10:36:10.7206803Z           "complete": true,
2026-06-13T10:36:10.7206903Z           "evidence": [
2026-06-13T10:36:10.7206997Z             {
2026-06-13T10:36:10.7207132Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7207222Z               "line": 262
2026-06-13T10:36:10.7207298Z             },
2026-06-13T10:36:10.7207399Z             {
2026-06-13T10:36:10.7207522Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T10:36:10.7207627Z               "line": 306
2026-06-13T10:36:10.7207710Z             },
2026-06-13T10:36:10.7207795Z             {
2026-06-13T10:36:10.7207923Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7208015Z               "line": 190
2026-06-13T10:36:10.7208105Z             },
2026-06-13T10:36:10.7208194Z             {
2026-06-13T10:36:10.7208317Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7208418Z               "line": 275
2026-06-13T10:36:10.7208502Z             },
2026-06-13T10:36:10.7208587Z             {
2026-06-13T10:36:10.7208702Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7208798Z               "line": 312
2026-06-13T10:36:10.7208877Z             },
2026-06-13T10:36:10.7209065Z             {
2026-06-13T10:36:10.7209173Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7209268Z               "line": 1542
2026-06-13T10:36:10.7209365Z             }
2026-06-13T10:36:10.7209446Z           ]
2026-06-13T10:36:10.7209545Z         },
2026-06-13T10:36:10.7209627Z         "int": {
2026-06-13T10:36:10.7209741Z           "complete": false,
2026-06-13T10:36:10.7209845Z           "evidence": []
2026-06-13T10:36:10.7209922Z         },
2026-06-13T10:36:10.7210019Z         "unit": {
2026-06-13T10:36:10.7210109Z           "complete": true,
2026-06-13T10:36:10.7210199Z           "evidence": [
2026-06-13T10:36:10.7210281Z             {
2026-06-13T10:36:10.7210394Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7210480Z               "line": 723
2026-06-13T10:36:10.7210557Z             },
2026-06-13T10:36:10.7210644Z             {
2026-06-13T10:36:10.7210746Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7210843Z               "line": 8139
2026-06-13T10:36:10.7210925Z             }
2026-06-13T10:36:10.7211024Z           ]
2026-06-13T10:36:10.7211109Z         }
2026-06-13T10:36:10.7211189Z       }
2026-06-13T10:36:10.7211276Z     },
2026-06-13T10:36:10.7211357Z     {
2026-06-13T10:36:10.7211447Z       "id": "REQ-DOCS-1",
2026-06-13T10:36:10.7211643Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-13T10:36:10.7211752Z       "requiredStages": [
2026-06-13T10:36:10.7211962Z         "doc",
2026-06-13T10:36:10.7212043Z         "impl"
2026-06-13T10:36:10.7212143Z       ],
2026-06-13T10:36:10.7212225Z       "stages": {
2026-06-13T10:36:10.7212324Z         "doc": {
2026-06-13T10:36:10.7212419Z           "complete": true,
2026-06-13T10:36:10.7212521Z           "evidence": [
2026-06-13T10:36:10.7212620Z             {
2026-06-13T10:36:10.7212730Z               "path": "docs-site/src/index.md",
2026-06-13T10:36:10.7212826Z               "line": 50
2026-06-13T10:36:10.7212916Z             }
2026-06-13T10:36:10.7212996Z           ]
2026-06-13T10:36:10.7213083Z         },
2026-06-13T10:36:10.7213282Z         "impl": {
2026-06-13T10:36:10.7213382Z           "complete": true,
2026-06-13T10:36:10.7213467Z           "evidence": [
2026-06-13T10:36:10.7213553Z             {
2026-06-13T10:36:10.7213685Z               "path": ".github/workflows/docs-publish.yml",
2026-06-13T10:36:10.7213780Z               "line": 12
2026-06-13T10:36:10.7213862Z             },
2026-06-13T10:36:10.7213966Z             {
2026-06-13T10:36:10.7214085Z               "path": "crates/xtask/src/main.rs",
2026-06-13T10:36:10.7214172Z               "line": 14
2026-06-13T10:36:10.7214262Z             }
2026-06-13T10:36:10.7214333Z           ]
2026-06-13T10:36:10.7214424Z         },
2026-06-13T10:36:10.7214524Z         "int": {
2026-06-13T10:36:10.7214629Z           "complete": false,
2026-06-13T10:36:10.7214725Z           "evidence": []
2026-06-13T10:36:10.7214806Z         },
2026-06-13T10:36:10.7214896Z         "unit": {
2026-06-13T10:36:10.7214991Z           "complete": false,
2026-06-13T10:36:10.7215093Z           "evidence": []
2026-06-13T10:36:10.7215182Z         }
2026-06-13T10:36:10.7215273Z       }
2026-06-13T10:36:10.7215359Z     },
2026-06-13T10:36:10.7215445Z     {
2026-06-13T10:36:10.7215544Z       "id": "REQ-DOCS-2",
2026-06-13T10:36:10.7215708Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-13T10:36:10.7215802Z       "requiredStages": [
2026-06-13T10:36:10.7215897Z         "doc",
2026-06-13T10:36:10.7215984Z         "int"
2026-06-13T10:36:10.7216070Z       ],
2026-06-13T10:36:10.7216155Z       "stages": {
2026-06-13T10:36:10.7216239Z         "doc": {
2026-06-13T10:36:10.7216335Z           "complete": true,
2026-06-13T10:36:10.7216430Z           "evidence": [
2026-06-13T10:36:10.7216509Z             {
2026-06-13T10:36:10.7216686Z               "path": "docs-site/src/harness-contract/integration-checklist.md",
2026-06-13T10:36:10.7216776Z               "line": 3
2026-06-13T10:36:10.7216862Z             },
2026-06-13T10:36:10.7216948Z             {
2026-06-13T10:36:10.7217073Z               "path": "docs-site/src/quickstart/adapter.md",
2026-06-13T10:36:10.7217172Z               "line": 3
2026-06-13T10:36:10.7217257Z             },
2026-06-13T10:36:10.7217344Z             {
2026-06-13T10:36:10.7217482Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-13T10:36:10.7217567Z               "line": 3
2026-06-13T10:36:10.7217659Z             }
2026-06-13T10:36:10.7217749Z           ]
2026-06-13T10:36:10.7217835Z         },
2026-06-13T10:36:10.7217925Z         "impl": {
2026-06-13T10:36:10.7218021Z           "complete": false,
2026-06-13T10:36:10.7218120Z           "evidence": []
2026-06-13T10:36:10.7218206Z         },
2026-06-13T10:36:10.7218298Z         "int": {
2026-06-13T10:36:10.7218393Z           "complete": true,
2026-06-13T10:36:10.7218488Z           "evidence": [
2026-06-13T10:36:10.7218570Z             {
2026-06-13T10:36:10.7218703Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-13T10:36:10.7218797Z               "line": 14
2026-06-13T10:36:10.7218887Z             }
2026-06-13T10:36:10.7219057Z           ]
2026-06-13T10:36:10.7219137Z         },
2026-06-13T10:36:10.7219233Z         "unit": {
2026-06-13T10:36:10.7219324Z           "complete": false,
2026-06-13T10:36:10.7219433Z           "evidence": []
2026-06-13T10:36:10.7219538Z         }
2026-06-13T10:36:10.7219620Z       }
2026-06-13T10:36:10.7219711Z     },
2026-06-13T10:36:10.7219901Z     {
2026-06-13T10:36:10.7220001Z       "id": "REQ-DOCS-3",
2026-06-13T10:36:10.7220226Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-13T10:36:10.7220329Z       "requiredStages": [
2026-06-13T10:36:10.7220420Z         "doc"
2026-06-13T10:36:10.7220502Z       ],
2026-06-13T10:36:10.7220597Z       "stages": {
2026-06-13T10:36:10.7220678Z         "doc": {
2026-06-13T10:36:10.7220778Z           "complete": true,
2026-06-13T10:36:10.7220870Z           "evidence": [
2026-06-13T10:36:10.7220963Z             {
2026-06-13T10:36:10.7221078Z               "path": "docs-site/src/index.md",
2026-06-13T10:36:10.7221274Z               "line": 42
2026-06-13T10:36:10.7221364Z             }
2026-06-13T10:36:10.7221447Z           ]
2026-06-13T10:36:10.7221542Z         },
2026-06-13T10:36:10.7221630Z         "impl": {
2026-06-13T10:36:10.7221730Z           "complete": false,
2026-06-13T10:36:10.7221826Z           "evidence": []
2026-06-13T10:36:10.7221908Z         },
2026-06-13T10:36:10.7222007Z         "int": {
2026-06-13T10:36:10.7222098Z           "complete": false,
2026-06-13T10:36:10.7222194Z           "evidence": []
2026-06-13T10:36:10.7222274Z         },
2026-06-13T10:36:10.7222369Z         "unit": {
2026-06-13T10:36:10.7222466Z           "complete": false,
2026-06-13T10:36:10.7222551Z           "evidence": []
2026-06-13T10:36:10.7222641Z         }
2026-06-13T10:36:10.7222727Z       }
2026-06-13T10:36:10.7222814Z     },
2026-06-13T10:36:10.7222899Z     {
2026-06-13T10:36:10.7222999Z       "id": "REQ-DOCS-4",
2026-06-13T10:36:10.7223194Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-13T10:36:10.7223299Z       "requiredStages": [
2026-06-13T10:36:10.7223391Z         "doc",
2026-06-13T10:36:10.7223476Z         "impl",
2026-06-13T10:36:10.7223566Z         "unit"
2026-06-13T10:36:10.7223648Z       ],
2026-06-13T10:36:10.7223740Z       "stages": {
2026-06-13T10:36:10.7223828Z         "doc": {
2026-06-13T10:36:10.7223918Z           "complete": true,
2026-06-13T10:36:10.7224018Z           "evidence": [
2026-06-13T10:36:10.7224099Z             {
2026-06-13T10:36:10.7224216Z               "path": "docs/DOCS-STRATEGY.md",
2026-06-13T10:36:10.7224301Z               "line": 35
2026-06-13T10:36:10.7224393Z             }
2026-06-13T10:36:10.7224479Z           ]
2026-06-13T10:36:10.7224559Z         },
2026-06-13T10:36:10.7224650Z         "impl": {
2026-06-13T10:36:10.7224741Z           "complete": true,
2026-06-13T10:36:10.7224831Z           "evidence": [
2026-06-13T10:36:10.7224917Z             {
2026-06-13T10:36:10.7225046Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.7225146Z               "line": 596
2026-06-13T10:36:10.7225232Z             },
2026-06-13T10:36:10.7225319Z             {
2026-06-13T10:36:10.7225428Z               "path": "crates/xtask/src/main.rs",
2026-06-13T10:36:10.7225522Z               "line": 15
2026-06-13T10:36:10.7225609Z             }
2026-06-13T10:36:10.7225695Z           ]
2026-06-13T10:36:10.7225785Z         },
2026-06-13T10:36:10.7225871Z         "int": {
2026-06-13T10:36:10.7225968Z           "complete": false,
2026-06-13T10:36:10.7226052Z           "evidence": []
2026-06-13T10:36:10.7226138Z         },
2026-06-13T10:36:10.7226219Z         "unit": {
2026-06-13T10:36:10.7226311Z           "complete": true,
2026-06-13T10:36:10.7226409Z           "evidence": [
2026-06-13T10:36:10.7226486Z             {
2026-06-13T10:36:10.7226612Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.7226705Z               "line": 1102
2026-06-13T10:36:10.7226790Z             }
2026-06-13T10:36:10.7226871Z           ]
2026-06-13T10:36:10.7226952Z         }
2026-06-13T10:36:10.7227032Z       }
2026-06-13T10:36:10.7227117Z     },
2026-06-13T10:36:10.7227193Z     {
2026-06-13T10:36:10.7227289Z       "id": "REQ-DOCS-5",
2026-06-13T10:36:10.7227488Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-13T10:36:10.7227585Z       "requiredStages": [
2026-06-13T10:36:10.7227779Z         "impl",
2026-06-13T10:36:10.7227861Z         "int"
2026-06-13T10:36:10.7227938Z       ],
2026-06-13T10:36:10.7228023Z       "stages": {
2026-06-13T10:36:10.7228094Z         "doc": {
2026-06-13T10:36:10.7228200Z           "complete": false,
2026-06-13T10:36:10.7228290Z           "evidence": []
2026-06-13T10:36:10.7228380Z         },
2026-06-13T10:36:10.7228466Z         "impl": {
2026-06-13T10:36:10.7228548Z           "complete": true,
2026-06-13T10:36:10.7228633Z           "evidence": [
2026-06-13T10:36:10.7228719Z             {
2026-06-13T10:36:10.7228844Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.7229120Z               "line": 597
2026-06-13T10:36:10.7229206Z             },
2026-06-13T10:36:10.7229296Z             {
2026-06-13T10:36:10.7229404Z               "path": "crates/xtask/src/main.rs",
2026-06-13T10:36:10.7229490Z               "line": 113
2026-06-13T10:36:10.7229571Z             }
2026-06-13T10:36:10.7229650Z           ]
2026-06-13T10:36:10.7229745Z         },
2026-06-13T10:36:10.7229831Z         "int": {
2026-06-13T10:36:10.7229928Z           "complete": true,
2026-06-13T10:36:10.7230012Z           "evidence": [
2026-06-13T10:36:10.7230093Z             {
2026-06-13T10:36:10.7230199Z               "path": ".github/workflows/ci.yml",
2026-06-13T10:36:10.7230299Z               "line": 86
2026-06-13T10:36:10.7230384Z             },
2026-06-13T10:36:10.7230476Z             {
2026-06-13T10:36:10.7230600Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.7230684Z               "line": 1139
2026-06-13T10:36:10.7230766Z             }
2026-06-13T10:36:10.7230852Z           ]
2026-06-13T10:36:10.7230938Z         },
2026-06-13T10:36:10.7231014Z         "unit": {
2026-06-13T10:36:10.7231115Z           "complete": false,
2026-06-13T10:36:10.7231204Z           "evidence": []
2026-06-13T10:36:10.7231290Z         }
2026-06-13T10:36:10.7231382Z       }
2026-06-13T10:36:10.7231463Z     },
2026-06-13T10:36:10.7231552Z     {
2026-06-13T10:36:10.7231658Z       "id": "REQ-DOCS-6",
2026-06-13T10:36:10.7231987Z       "title": "spt how-to <topic>: in-binary task-oriented agent instructions (anti-drift; quickstart prompts point agents at it)",
2026-06-13T10:36:10.7232088Z       "requiredStages": [
2026-06-13T10:36:10.7232172Z         "impl",
2026-06-13T10:36:10.7232262Z         "unit",
2026-06-13T10:36:10.7232343Z         "int"
2026-06-13T10:36:10.7232434Z       ],
2026-06-13T10:36:10.7232520Z       "stages": {
2026-06-13T10:36:10.7232610Z         "doc": {
2026-06-13T10:36:10.7232711Z           "complete": true,
2026-06-13T10:36:10.7232792Z           "evidence": [
2026-06-13T10:36:10.7232891Z             {
2026-06-13T10:36:10.7233021Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-13T10:36:10.7233111Z               "line": 4
2026-06-13T10:36:10.7233196Z             }
2026-06-13T10:36:10.7233283Z           ]
2026-06-13T10:36:10.7233374Z         },
2026-06-13T10:36:10.7233459Z         "impl": {
2026-06-13T10:36:10.7233564Z           "complete": true,
2026-06-13T10:36:10.7233650Z           "evidence": [
2026-06-13T10:36:10.7233740Z             {
2026-06-13T10:36:10.7233845Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7233942Z               "line": 4245
2026-06-13T10:36:10.7234032Z             }
2026-06-13T10:36:10.7234116Z           ]
2026-06-13T10:36:10.7234203Z         },
2026-06-13T10:36:10.7234285Z         "int": {
2026-06-13T10:36:10.7234384Z           "complete": true,
2026-06-13T10:36:10.7234469Z           "evidence": [
2026-06-13T10:36:10.7234564Z             {
2026-06-13T10:36:10.7234687Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-13T10:36:10.7234781Z               "line": 39
2026-06-13T10:36:10.7234866Z             }
2026-06-13T10:36:10.7234953Z           ]
2026-06-13T10:36:10.7235039Z         },
2026-06-13T10:36:10.7235124Z         "unit": {
2026-06-13T10:36:10.7235225Z           "complete": true,
2026-06-13T10:36:10.7235316Z           "evidence": [
2026-06-13T10:36:10.7235515Z             {
2026-06-13T10:36:10.7235621Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7235711Z               "line": 8301
2026-06-13T10:36:10.7235801Z             }
2026-06-13T10:36:10.7235884Z           ]
2026-06-13T10:36:10.7235973Z         }
2026-06-13T10:36:10.7236059Z       }
2026-06-13T10:36:10.7236140Z     },
2026-06-13T10:36:10.7236232Z     {
2026-06-13T10:36:10.7236321Z       "id": "REQ-EP-1",
2026-06-13T10:36:10.7236459Z       "title": "Day-one endpoint types; open type system",
2026-06-13T10:36:10.7236552Z       "requiredStages": [
2026-06-13T10:36:10.7236645Z         "impl",
2026-06-13T10:36:10.7236833Z         "unit"
2026-06-13T10:36:10.7236913Z       ],
2026-06-13T10:36:10.7237008Z       "stages": {
2026-06-13T10:36:10.7237094Z         "doc": {
2026-06-13T10:36:10.7237191Z           "complete": false,
2026-06-13T10:36:10.7237284Z           "evidence": []
2026-06-13T10:36:10.7237378Z         },
2026-06-13T10:36:10.7237469Z         "impl": {
2026-06-13T10:36:10.7237573Z           "complete": true,
2026-06-13T10:36:10.7237668Z           "evidence": [
2026-06-13T10:36:10.7237753Z             {
2026-06-13T10:36:10.7237883Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-13T10:36:10.7237973Z               "line": 77
2026-06-13T10:36:10.7238063Z             },
2026-06-13T10:36:10.7238149Z             {
2026-06-13T10:36:10.7238268Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-13T10:36:10.7238363Z               "line": 94
2026-06-13T10:36:10.7238446Z             }
2026-06-13T10:36:10.7238536Z           ]
2026-06-13T10:36:10.7238616Z         },
2026-06-13T10:36:10.7238717Z         "int": {
2026-06-13T10:36:10.7238812Z           "complete": false,
2026-06-13T10:36:10.7238902Z           "evidence": []
2026-06-13T10:36:10.7239055Z         },
2026-06-13T10:36:10.7239141Z         "unit": {
2026-06-13T10:36:10.7239236Z           "complete": true,
2026-06-13T10:36:10.7239322Z           "evidence": [
2026-06-13T10:36:10.7239409Z             {
2026-06-13T10:36:10.7239536Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-13T10:36:10.7239627Z               "line": 161
2026-06-13T10:36:10.7239719Z             },
2026-06-13T10:36:10.7239804Z             {
2026-06-13T10:36:10.7239921Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-13T10:36:10.7240012Z               "line": 178
2026-06-13T10:36:10.7240098Z             }
2026-06-13T10:36:10.7240182Z           ]
2026-06-13T10:36:10.7240272Z         }
2026-06-13T10:36:10.7240358Z       }
2026-06-13T10:36:10.7240440Z     },
2026-06-13T10:36:10.7240530Z     {
2026-06-13T10:36:10.7240630Z       "id": "REQ-EP-2",
2026-06-13T10:36:10.7240802Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-13T10:36:10.7240901Z       "requiredStages": [
2026-06-13T10:36:10.7240988Z         "impl",
2026-06-13T10:36:10.7241079Z         "unit"
2026-06-13T10:36:10.7241160Z       ],
2026-06-13T10:36:10.7241249Z       "stages": {
2026-06-13T10:36:10.7241336Z         "doc": {
2026-06-13T10:36:10.7241440Z           "complete": false,
2026-06-13T10:36:10.7241531Z           "evidence": []
2026-06-13T10:36:10.7241602Z         },
2026-06-13T10:36:10.7241699Z         "impl": {
2026-06-13T10:36:10.7241789Z           "complete": true,
2026-06-13T10:36:10.7241884Z           "evidence": [
2026-06-13T10:36:10.7241966Z             {
2026-06-13T10:36:10.7242093Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-13T10:36:10.7242194Z               "line": 114
2026-06-13T10:36:10.7242276Z             },
2026-06-13T10:36:10.7242366Z             {
2026-06-13T10:36:10.7242480Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-13T10:36:10.7242581Z               "line": 131
2026-06-13T10:36:10.7242662Z             },
2026-06-13T10:36:10.7242751Z             {
2026-06-13T10:36:10.7242874Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-13T10:36:10.7242966Z               "line": 138
2026-06-13T10:36:10.7243057Z             }
2026-06-13T10:36:10.7243256Z           ]
2026-06-13T10:36:10.7243347Z         },
2026-06-13T10:36:10.7243427Z         "int": {
2026-06-13T10:36:10.7243528Z           "complete": false,
2026-06-13T10:36:10.7243629Z           "evidence": []
2026-06-13T10:36:10.7243724Z         },
2026-06-13T10:36:10.7243833Z         "unit": {
2026-06-13T10:36:10.7243925Z           "complete": true,
2026-06-13T10:36:10.7244019Z           "evidence": [
2026-06-13T10:36:10.7244109Z             {
2026-06-13T10:36:10.7244235Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-13T10:36:10.7244329Z               "line": 190
2026-06-13T10:36:10.7244506Z             },
2026-06-13T10:36:10.7244597Z             {
2026-06-13T10:36:10.7244715Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-13T10:36:10.7244811Z               "line": 208
2026-06-13T10:36:10.7244898Z             },
2026-06-13T10:36:10.7244986Z             {
2026-06-13T10:36:10.7245143Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-13T10:36:10.7245243Z               "line": 221
2026-06-13T10:36:10.7245336Z             }
2026-06-13T10:36:10.7245417Z           ]
2026-06-13T10:36:10.7245508Z         }
2026-06-13T10:36:10.7245595Z       }
2026-06-13T10:36:10.7245684Z     },
2026-06-13T10:36:10.7245775Z     {
2026-06-13T10:36:10.7245866Z       "id": "REQ-EP-3",
2026-06-13T10:36:10.7246056Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-13T10:36:10.7246153Z       "requiredStages": [
2026-06-13T10:36:10.7246243Z         "impl",
2026-06-13T10:36:10.7246323Z         "unit"
2026-06-13T10:36:10.7246405Z       ],
2026-06-13T10:36:10.7246510Z       "stages": {
2026-06-13T10:36:10.7246591Z         "doc": {
2026-06-13T10:36:10.7246676Z           "complete": false,
2026-06-13T10:36:10.7246773Z           "evidence": []
2026-06-13T10:36:10.7246857Z         },
2026-06-13T10:36:10.7246943Z         "impl": {
2026-06-13T10:36:10.7247044Z           "complete": true,
2026-06-13T10:36:10.7247135Z           "evidence": [
2026-06-13T10:36:10.7247224Z             {
2026-06-13T10:36:10.7247349Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-13T10:36:10.7247441Z               "line": 31
2026-06-13T10:36:10.7247524Z             },
2026-06-13T10:36:10.7247606Z             {
2026-06-13T10:36:10.7247727Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-13T10:36:10.7247821Z               "line": 49
2026-06-13T10:36:10.7247901Z             }
2026-06-13T10:36:10.7247986Z           ]
2026-06-13T10:36:10.7248068Z         },
2026-06-13T10:36:10.7248152Z         "int": {
2026-06-13T10:36:10.7248237Z           "complete": false,
2026-06-13T10:36:10.7248342Z           "evidence": []
2026-06-13T10:36:10.7248428Z         },
2026-06-13T10:36:10.7248499Z         "unit": {
2026-06-13T10:36:10.7248599Z           "complete": true,
2026-06-13T10:36:10.7248686Z           "evidence": [
2026-06-13T10:36:10.7248767Z             {
2026-06-13T10:36:10.7248871Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-13T10:36:10.7249029Z               "line": 156
2026-06-13T10:36:10.7249110Z             },
2026-06-13T10:36:10.7249185Z             {
2026-06-13T10:36:10.7249305Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-13T10:36:10.7249387Z               "line": 164
2026-06-13T10:36:10.7249477Z             },
2026-06-13T10:36:10.7249557Z             {
2026-06-13T10:36:10.7249678Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-13T10:36:10.7249763Z               "line": 177
2026-06-13T10:36:10.7249849Z             },
2026-06-13T10:36:10.7249930Z             {
2026-06-13T10:36:10.7250035Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-13T10:36:10.7250139Z               "line": 200
2026-06-13T10:36:10.7250221Z             },
2026-06-13T10:36:10.7250312Z             {
2026-06-13T10:36:10.7250420Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-13T10:36:10.7250505Z               "line": 216
2026-06-13T10:36:10.7250591Z             },
2026-06-13T10:36:10.7250775Z             {
2026-06-13T10:36:10.7250899Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-13T10:36:10.7250986Z               "line": 233
2026-06-13T10:36:10.7251071Z             }
2026-06-13T10:36:10.7251165Z           ]
2026-06-13T10:36:10.7251238Z         }
2026-06-13T10:36:10.7251329Z       }
2026-06-13T10:36:10.7251409Z     },
2026-06-13T10:36:10.7251495Z     {
2026-06-13T10:36:10.7251581Z       "id": "REQ-EP-4",
2026-06-13T10:36:10.7251724Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-13T10:36:10.7251829Z       "requiredStages": [
2026-06-13T10:36:10.7251910Z         "impl",
2026-06-13T10:36:10.7252105Z         "unit"
2026-06-13T10:36:10.7252192Z       ],
2026-06-13T10:36:10.7252282Z       "stages": {
2026-06-13T10:36:10.7252363Z         "doc": {
2026-06-13T10:36:10.7252463Z           "complete": false,
2026-06-13T10:36:10.7252564Z           "evidence": []
2026-06-13T10:36:10.7252644Z         },
2026-06-13T10:36:10.7252730Z         "impl": {
2026-06-13T10:36:10.7252832Z           "complete": true,
2026-06-13T10:36:10.7252926Z           "evidence": [
2026-06-13T10:36:10.7252996Z             {
2026-06-13T10:36:10.7253127Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T10:36:10.7253227Z               "line": 673
2026-06-13T10:36:10.7253302Z             },
2026-06-13T10:36:10.7253396Z             {
2026-06-13T10:36:10.7253501Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T10:36:10.7253598Z               "line": 990
2026-06-13T10:36:10.7253677Z             },
2026-06-13T10:36:10.7253758Z             {
2026-06-13T10:36:10.7253879Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T10:36:10.7253978Z               "line": 970
2026-06-13T10:36:10.7254069Z             },
2026-06-13T10:36:10.7254141Z             {
2026-06-13T10:36:10.7254265Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-13T10:36:10.7254354Z               "line": 83
2026-06-13T10:36:10.7254432Z             },
2026-06-13T10:36:10.7254532Z             {
2026-06-13T10:36:10.7254641Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-13T10:36:10.7254737Z               "line": 497
2026-06-13T10:36:10.7254814Z             },
2026-06-13T10:36:10.7254908Z             {
2026-06-13T10:36:10.7255027Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-13T10:36:10.7255114Z               "line": 583
2026-06-13T10:36:10.7255199Z             },
2026-06-13T10:36:10.7255280Z             {
2026-06-13T10:36:10.7255400Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T10:36:10.7255486Z               "line": 196
2026-06-13T10:36:10.7255584Z             },
2026-06-13T10:36:10.7255669Z             {
2026-06-13T10:36:10.7255785Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T10:36:10.7255882Z               "line": 337
2026-06-13T10:36:10.7255963Z             },
2026-06-13T10:36:10.7256054Z             {
2026-06-13T10:36:10.7256155Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T10:36:10.7256254Z               "line": 847
2026-06-13T10:36:10.7256340Z             }
2026-06-13T10:36:10.7256422Z           ]
2026-06-13T10:36:10.7256503Z         },
2026-06-13T10:36:10.7256578Z         "int": {
2026-06-13T10:36:10.7256674Z           "complete": false,
2026-06-13T10:36:10.7256764Z           "evidence": []
2026-06-13T10:36:10.7256850Z         },
2026-06-13T10:36:10.7256931Z         "unit": {
2026-06-13T10:36:10.7257013Z           "complete": true,
2026-06-13T10:36:10.7257098Z           "evidence": [
2026-06-13T10:36:10.7257188Z             {
2026-06-13T10:36:10.7257304Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-13T10:36:10.7257390Z               "line": 674
2026-06-13T10:36:10.7257471Z             },
2026-06-13T10:36:10.7257556Z             {
2026-06-13T10:36:10.7257676Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-13T10:36:10.7257761Z               "line": 76
2026-06-13T10:36:10.7257846Z             },
2026-06-13T10:36:10.7257934Z             {
2026-06-13T10:36:10.7258142Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-13T10:36:10.7258239Z               "line": 147
2026-06-13T10:36:10.7258325Z             }
2026-06-13T10:36:10.7258404Z           ]
2026-06-13T10:36:10.7258499Z         }
2026-06-13T10:36:10.7258575Z       }
2026-06-13T10:36:10.7258666Z     },
2026-06-13T10:36:10.7258749Z     {
2026-06-13T10:36:10.7258849Z       "id": "REQ-EP-5",
2026-06-13T10:36:10.7259599Z       "title": "Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope",
2026-06-13T10:36:10.7259812Z       "requiredStages": [
2026-06-13T10:36:10.7259895Z         "impl",
2026-06-13T10:36:10.7259975Z         "unit",
2026-06-13T10:36:10.7260070Z         "int"
2026-06-13T10:36:10.7260146Z       ],
2026-06-13T10:36:10.7260229Z       "stages": {
2026-06-13T10:36:10.7260308Z         "doc": {
2026-06-13T10:36:10.7260404Z           "complete": false,
2026-06-13T10:36:10.7260500Z           "evidence": []
2026-06-13T10:36:10.7260572Z         },
2026-06-13T10:36:10.7260666Z         "impl": {
2026-06-13T10:36:10.7260757Z           "complete": true,
2026-06-13T10:36:10.7260849Z           "evidence": [
2026-06-13T10:36:10.7260938Z             {
2026-06-13T10:36:10.7261070Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7261166Z               "line": 351
2026-06-13T10:36:10.7261246Z             },
2026-06-13T10:36:10.7261331Z             {
2026-06-13T10:36:10.7261449Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-13T10:36:10.7266433Z               "line": 18
2026-06-13T10:36:10.7266518Z             },
2026-06-13T10:36:10.7266595Z             {
2026-06-13T10:36:10.7266738Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-13T10:36:10.7266833Z               "line": 63
2026-06-13T10:36:10.7266915Z             },
2026-06-13T10:36:10.7267015Z             {
2026-06-13T10:36:10.7267138Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-13T10:36:10.7267230Z               "line": 92
2026-06-13T10:36:10.7267311Z             },
2026-06-13T10:36:10.7267392Z             {
2026-06-13T10:36:10.7267510Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-13T10:36:10.7267612Z               "line": 167
2026-06-13T10:36:10.7267692Z             },
2026-06-13T10:36:10.7267777Z             {
2026-06-13T10:36:10.7267902Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-13T10:36:10.7267982Z               "line": 179
2026-06-13T10:36:10.7268077Z             },
2026-06-13T10:36:10.7268159Z             {
2026-06-13T10:36:10.7268279Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7268374Z               "line": 114
2026-06-13T10:36:10.7268455Z             },
2026-06-13T10:36:10.7268542Z             {
2026-06-13T10:36:10.7268654Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T10:36:10.7268745Z               "line": 22
2026-06-13T10:36:10.7268828Z             },
2026-06-13T10:36:10.7268918Z             {
2026-06-13T10:36:10.7269140Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T10:36:10.7269231Z               "line": 145
2026-06-13T10:36:10.7269314Z             },
2026-06-13T10:36:10.7269395Z             {
2026-06-13T10:36:10.7269520Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T10:36:10.7269610Z               "line": 174
2026-06-13T10:36:10.7269700Z             },
2026-06-13T10:36:10.7269786Z             {
2026-06-13T10:36:10.7269911Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T10:36:10.7270000Z               "line": 196
2026-06-13T10:36:10.7270082Z             },
2026-06-13T10:36:10.7270173Z             {
2026-06-13T10:36:10.7270291Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T10:36:10.7270387Z               "line": 221
2026-06-13T10:36:10.7270630Z             },
2026-06-13T10:36:10.7270711Z             {
2026-06-13T10:36:10.7270826Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T10:36:10.7270916Z               "line": 247
2026-06-13T10:36:10.7271002Z             },
2026-06-13T10:36:10.7271084Z             {
2026-06-13T10:36:10.7271207Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T10:36:10.7271298Z               "line": 270
2026-06-13T10:36:10.7271380Z             },
2026-06-13T10:36:10.7271470Z             {
2026-06-13T10:36:10.7271588Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.7271783Z               "line": 81
2026-06-13T10:36:10.7271871Z             },
2026-06-13T10:36:10.7271956Z             {
2026-06-13T10:36:10.7272067Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7272158Z               "line": 4653
2026-06-13T10:36:10.7272248Z             },
2026-06-13T10:36:10.7272329Z             {
2026-06-13T10:36:10.7272435Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7272543Z               "line": 4787
2026-06-13T10:36:10.7272624Z             },
2026-06-13T10:36:10.7272711Z             {
2026-06-13T10:36:10.7272811Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7272906Z               "line": 4953
2026-06-13T10:36:10.7272988Z             },
2026-06-13T10:36:10.7273078Z             {
2026-06-13T10:36:10.7273183Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7273273Z               "line": 5335
2026-06-13T10:36:10.7273360Z             }
2026-06-13T10:36:10.7273440Z           ]
2026-06-13T10:36:10.7273531Z         },
2026-06-13T10:36:10.7273622Z         "int": {
2026-06-13T10:36:10.7273717Z           "complete": true,
2026-06-13T10:36:10.7273802Z           "evidence": [
2026-06-13T10:36:10.7273883Z             {
2026-06-13T10:36:10.7274023Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-13T10:36:10.7274112Z               "line": 16
2026-06-13T10:36:10.7274208Z             },
2026-06-13T10:36:10.7274295Z             {
2026-06-13T10:36:10.7274412Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-13T10:36:10.7274507Z               "line": 15
2026-06-13T10:36:10.7274593Z             }
2026-06-13T10:36:10.7274680Z           ]
2026-06-13T10:36:10.7274760Z         },
2026-06-13T10:36:10.7274855Z         "unit": {
2026-06-13T10:36:10.7274946Z           "complete": true,
2026-06-13T10:36:10.7275042Z           "evidence": [
2026-06-13T10:36:10.7275127Z             {
2026-06-13T10:36:10.7275252Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-13T10:36:10.7275342Z               "line": 246
2026-06-13T10:36:10.7275432Z             },
2026-06-13T10:36:10.7275523Z             {
2026-06-13T10:36:10.7275643Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-13T10:36:10.7275738Z               "line": 306
2026-06-13T10:36:10.7275828Z             },
2026-06-13T10:36:10.7275915Z             {
2026-06-13T10:36:10.7276038Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-13T10:36:10.7276133Z               "line": 362
2026-06-13T10:36:10.7276220Z             },
2026-06-13T10:36:10.7276301Z             {
2026-06-13T10:36:10.7276443Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T10:36:10.7276544Z               "line": 286
2026-06-13T10:36:10.7276638Z             },
2026-06-13T10:36:10.7276747Z             {
2026-06-13T10:36:10.7276876Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T10:36:10.7277003Z               "line": 338
2026-06-13T10:36:10.7277098Z             },
2026-06-13T10:36:10.7277218Z             {
2026-06-13T10:36:10.7277364Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.7277460Z               "line": 570
2026-06-13T10:36:10.7277594Z             },
2026-06-13T10:36:10.7277693Z             {
2026-06-13T10:36:10.7277843Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7277956Z               "line": 6364
2026-06-13T10:36:10.7278095Z             },
2026-06-13T10:36:10.7278366Z             {
2026-06-13T10:36:10.7278496Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7278638Z               "line": 6488
2026-06-13T10:36:10.7278744Z             },
2026-06-13T10:36:10.7278872Z             {
2026-06-13T10:36:10.7279092Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7279214Z               "line": 7075
2026-06-13T10:36:10.7279354Z             },
2026-06-13T10:36:10.7279450Z             {
2026-06-13T10:36:10.7279615Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7279729Z               "line": 7191
2026-06-13T10:36:10.7279993Z             }
2026-06-13T10:36:10.7280118Z           ]
2026-06-13T10:36:10.7280227Z         }
2026-06-13T10:36:10.7280371Z       }
2026-06-13T10:36:10.7280476Z     },
2026-06-13T10:36:10.7280604Z     {
2026-06-13T10:36:10.7280719Z       "id": "REQ-EP-6",
2026-06-13T10:36:10.7282598Z       "title": "Gateway type acceptance: a Gateway-typed perch binds (api bind --type, open type system — un-hardcode the live_agent default), advertises/addressable like any endpoint, owns shells (owner validation not agent-family-gated), subscribes to digests, and is the user-msg identity gate's user-backed origin (REQ-MSG-5); in-tree mock-gateway fixture (R-DOCS-2 pattern, no downstream adapter code). Cross-node WAN Gateway-origin (registry endpoint_type trust) = documented fail-closed residual, deferred past M9 (doyle G2 ruling 2026-06-13)",
2026-06-13T10:36:10.7282718Z       "requiredStages": [
2026-06-13T10:36:10.7282808Z         "doc",
2026-06-13T10:36:10.7282913Z         "impl",
2026-06-13T10:36:10.7283018Z         "unit"
2026-06-13T10:36:10.7283123Z       ],
2026-06-13T10:36:10.7283253Z       "stages": {
2026-06-13T10:36:10.7283380Z         "doc": {
2026-06-13T10:36:10.7283480Z           "complete": true,
2026-06-13T10:36:10.7283567Z           "evidence": [
2026-06-13T10:36:10.7283676Z             {
2026-06-13T10:36:10.7283781Z               "path": "CONTEXT.md",
2026-06-13T10:36:10.7283892Z               "line": 206
2026-06-13T10:36:10.7283986Z             }
2026-06-13T10:36:10.7284076Z           ]
2026-06-13T10:36:10.7284182Z         },
2026-06-13T10:36:10.7284268Z         "impl": {
2026-06-13T10:36:10.7284396Z           "complete": true,
2026-06-13T10:36:10.7284526Z           "evidence": [
2026-06-13T10:36:10.7284629Z             {
2026-06-13T10:36:10.7284768Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.7284860Z               "line": 174
2026-06-13T10:36:10.7284968Z             }
2026-06-13T10:36:10.7285053Z           ]
2026-06-13T10:36:10.7285191Z         },
2026-06-13T10:36:10.7285386Z         "int": {
2026-06-13T10:36:10.7285502Z           "complete": true,
2026-06-13T10:36:10.7285607Z           "evidence": [
2026-06-13T10:36:10.7285692Z             {
2026-06-13T10:36:10.7285821Z               "path": "crates/spt/tests/gateway_e2e.rs",
2026-06-13T10:36:10.7285921Z               "line": 18
2026-06-13T10:36:10.7286021Z             }
2026-06-13T10:36:10.7286107Z           ]
2026-06-13T10:36:10.7286217Z         },
2026-06-13T10:36:10.7286345Z         "unit": {
2026-06-13T10:36:10.7286461Z           "complete": true,
2026-06-13T10:36:10.7286583Z           "evidence": [
2026-06-13T10:36:10.7286674Z             {
2026-06-13T10:36:10.7286865Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T10:36:10.7286975Z               "line": 525
2026-06-13T10:36:10.7287104Z             },
2026-06-13T10:36:10.7287232Z             {
2026-06-13T10:36:10.7287359Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.7287479Z               "line": 599
2026-06-13T10:36:10.7287577Z             }
2026-06-13T10:36:10.7287686Z           ]
2026-06-13T10:36:10.7287768Z         }
2026-06-13T10:36:10.7287868Z       }
2026-06-13T10:36:10.7287967Z     },
2026-06-13T10:36:10.7288049Z     {
2026-06-13T10:36:10.7288144Z       "id": "REQ-EP-7",
2026-06-13T10:36:10.7289851Z       "title": "Durable live-role.md: a per-agent broad-purpose statement in tracked/agents/<id>/ beside live-context.md (replicates with the mind on the same a-<id> branch); renders FIRST at start-transition context injection (role -> live-context -> project-context); SOLE writer `spt endpoint role --overwrite <file>` — mechanical no-automated-writer guarantee (echo-commune ingest / signoff / Psyche reconcile structurally exclude it). The user-backed-origin hard gate on the writer is a deferred later tightening (rides the user-msg identity plumbing)",
2026-06-13T10:36:10.7290066Z       "requiredStages": [
2026-06-13T10:36:10.7290146Z         "doc",
2026-06-13T10:36:10.7290270Z         "impl",
2026-06-13T10:36:10.7290501Z         "unit"
2026-06-13T10:36:10.7290583Z       ],
2026-06-13T10:36:10.7290678Z       "stages": {
2026-06-13T10:36:10.7290763Z         "doc": {
2026-06-13T10:36:10.7290844Z           "complete": true,
2026-06-13T10:36:10.7290941Z           "evidence": [
2026-06-13T10:36:10.7291021Z             {
2026-06-13T10:36:10.7291116Z               "path": "CONTEXT.md",
2026-06-13T10:36:10.7291207Z               "line": 378
2026-06-13T10:36:10.7291298Z             }
2026-06-13T10:36:10.7291389Z           ]
2026-06-13T10:36:10.7291473Z         },
2026-06-13T10:36:10.7291560Z         "impl": {
2026-06-13T10:36:10.7291641Z           "complete": true,
2026-06-13T10:36:10.7291727Z           "evidence": [
2026-06-13T10:36:10.7291808Z             {
2026-06-13T10:36:10.7291928Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T10:36:10.7292026Z               "line": 505
2026-06-13T10:36:10.7292103Z             },
2026-06-13T10:36:10.7292185Z             {
2026-06-13T10:36:10.7292294Z               "path": "crates/spt-live/src/resume.rs",
2026-06-13T10:36:10.7292399Z               "line": 87
2026-06-13T10:36:10.7292481Z             },
2026-06-13T10:36:10.7292567Z             {
2026-06-13T10:36:10.7292689Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.7292769Z               "line": 81
2026-06-13T10:36:10.7292851Z             },
2026-06-13T10:36:10.7292940Z             {
2026-06-13T10:36:10.7293068Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.7293149Z               "line": 166
2026-06-13T10:36:10.7293231Z             },
2026-06-13T10:36:10.7293325Z             {
2026-06-13T10:36:10.7293425Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7293522Z               "line": 1172
2026-06-13T10:36:10.7293603Z             }
2026-06-13T10:36:10.7293687Z           ]
2026-06-13T10:36:10.7293774Z         },
2026-06-13T10:36:10.7293855Z         "int": {
2026-06-13T10:36:10.7293955Z           "complete": false,
2026-06-13T10:36:10.7294050Z           "evidence": []
2026-06-13T10:36:10.7294132Z         },
2026-06-13T10:36:10.7294212Z         "unit": {
2026-06-13T10:36:10.7294312Z           "complete": true,
2026-06-13T10:36:10.7294403Z           "evidence": [
2026-06-13T10:36:10.7294485Z             {
2026-06-13T10:36:10.7294603Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T10:36:10.7294693Z               "line": 623
2026-06-13T10:36:10.7294786Z             },
2026-06-13T10:36:10.7294870Z             {
2026-06-13T10:36:10.7294980Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-13T10:36:10.7295062Z               "line": 212
2026-06-13T10:36:10.7295157Z             },
2026-06-13T10:36:10.7295237Z             {
2026-06-13T10:36:10.7295338Z               "path": "crates/spt-live/src/resume.rs",
2026-06-13T10:36:10.7295435Z               "line": 299
2026-06-13T10:36:10.7295518Z             },
2026-06-13T10:36:10.7295608Z             {
2026-06-13T10:36:10.7295713Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7295819Z               "line": 5653
2026-06-13T10:36:10.7295913Z             },
2026-06-13T10:36:10.7295999Z             {
2026-06-13T10:36:10.7296105Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7296190Z               "line": 5680
2026-06-13T10:36:10.7296280Z             }
2026-06-13T10:36:10.7296363Z           ]
2026-06-13T10:36:10.7296533Z         }
2026-06-13T10:36:10.7296614Z       }
2026-06-13T10:36:10.7296697Z     },
2026-06-13T10:36:10.7296782Z     {
2026-06-13T10:36:10.7296872Z       "id": "REQ-FRONT-1",
2026-06-13T10:36:10.7297054Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-13T10:36:10.7297153Z       "requiredStages": [],
2026-06-13T10:36:10.7297248Z       "stages": {
2026-06-13T10:36:10.7297340Z         "doc": {
2026-06-13T10:36:10.7297425Z           "complete": false,
2026-06-13T10:36:10.7297520Z           "evidence": []
2026-06-13T10:36:10.7297597Z         },
2026-06-13T10:36:10.7297684Z         "impl": {
2026-06-13T10:36:10.7297843Z           "complete": false,
2026-06-13T10:36:10.7297939Z           "evidence": []
2026-06-13T10:36:10.7298020Z         },
2026-06-13T10:36:10.7298104Z         "int": {
2026-06-13T10:36:10.7298208Z           "complete": false,
2026-06-13T10:36:10.7298290Z           "evidence": []
2026-06-13T10:36:10.7298376Z         },
2026-06-13T10:36:10.7298457Z         "unit": {
2026-06-13T10:36:10.7298552Z           "complete": false,
2026-06-13T10:36:10.7298648Z           "evidence": []
2026-06-13T10:36:10.7298724Z         }
2026-06-13T10:36:10.7298809Z       }
2026-06-13T10:36:10.7298885Z     },
2026-06-13T10:36:10.7299029Z     {
2026-06-13T10:36:10.7299142Z       "id": "REQ-HAZARD-BRAIN-RESPAWN-PATH",
2026-06-13T10:36:10.7301611Z       "title": "The broker respawns the brain onto the APPLIED bytes, not the renamed old binary: the candidate-binary default is the canonical exe path captured ONCE at broker start, never a per-spawn std::env::current_exe() — on Linux current_exe (readlink /proc/self/exe) is inode-tracking and follows the `apply` rename (spt -> spt.old-N), so a resident broker would respawn the brain onto OLD bytes while recording `applied` (Windows GetModuleFileName is path-at-start, so Windows was green; ADR-0018 Q3 silently assumed path-string semantics). Backstop: promotion gates on bytes — a trial promotes only if brain.ready exe_hash == the staged artifact hash for this platform, else auto-rollback + loud notif (readiness != new-bytes was the false-success that recorded applied:8 over a v0.4.0 brain on kitsubito, 2026-06-11). KNOWN-HAZARDS 6.11.",
2026-06-13T10:36:10.7301719Z       "requiredStages": [
2026-06-13T10:36:10.7301801Z         "doc",
2026-06-13T10:36:10.7301882Z         "impl",
2026-06-13T10:36:10.7301963Z         "unit",
2026-06-13T10:36:10.7302048Z         "int"
2026-06-13T10:36:10.7302125Z       ],
2026-06-13T10:36:10.7302215Z       "stages": {
2026-06-13T10:36:10.7302296Z         "doc": {
2026-06-13T10:36:10.7302391Z           "complete": true,
2026-06-13T10:36:10.7302488Z           "evidence": [
2026-06-13T10:36:10.7302572Z             {
2026-06-13T10:36:10.7302673Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T10:36:10.7302760Z               "line": 319
2026-06-13T10:36:10.7302850Z             }
2026-06-13T10:36:10.7302920Z           ]
2026-06-13T10:36:10.7303007Z         },
2026-06-13T10:36:10.7303084Z         "impl": {
2026-06-13T10:36:10.7303197Z           "complete": true,
2026-06-13T10:36:10.7303273Z           "evidence": [
2026-06-13T10:36:10.7303353Z             {
2026-06-13T10:36:10.7303482Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7303561Z               "line": 480
2026-06-13T10:36:10.7303656Z             },
2026-06-13T10:36:10.7303733Z             {
2026-06-13T10:36:10.7303862Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7303947Z               "line": 485
2026-06-13T10:36:10.7304043Z             },
2026-06-13T10:36:10.7304134Z             {
2026-06-13T10:36:10.7304257Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7304353Z               "line": 860
2026-06-13T10:36:10.7304439Z             },
2026-06-13T10:36:10.7304534Z             {
2026-06-13T10:36:10.7304654Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7304754Z               "line": 901
2026-06-13T10:36:10.7304853Z             },
2026-06-13T10:36:10.7305059Z             {
2026-06-13T10:36:10.7305245Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7305331Z               "line": 912
2026-06-13T10:36:10.7305430Z             },
2026-06-13T10:36:10.7305516Z             {
2026-06-13T10:36:10.7305651Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.7305749Z               "line": 358
2026-06-13T10:36:10.7305836Z             }
2026-06-13T10:36:10.7305928Z           ]
2026-06-13T10:36:10.7306018Z         },
2026-06-13T10:36:10.7306111Z         "int": {
2026-06-13T10:36:10.7306201Z           "complete": true,
2026-06-13T10:36:10.7306407Z           "evidence": [
2026-06-13T10:36:10.7306502Z             {
2026-06-13T10:36:10.7306636Z               "path": "crates/spt/tests/brain_respawn_rename.rs",
2026-06-13T10:36:10.7306736Z               "line": 30
2026-06-13T10:36:10.7306822Z             }
2026-06-13T10:36:10.7306913Z           ]
2026-06-13T10:36:10.7306998Z         },
2026-06-13T10:36:10.7307098Z         "unit": {
2026-06-13T10:36:10.7307199Z           "complete": true,
2026-06-13T10:36:10.7307285Z           "evidence": [
2026-06-13T10:36:10.7307380Z             {
2026-06-13T10:36:10.7307503Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7307600Z               "line": 1453
2026-06-13T10:36:10.7307690Z             },
2026-06-13T10:36:10.7307775Z             {
2026-06-13T10:36:10.7307910Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7307999Z               "line": 1478
2026-06-13T10:36:10.7308085Z             },
2026-06-13T10:36:10.7308176Z             {
2026-06-13T10:36:10.7308304Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7308399Z               "line": 1495
2026-06-13T10:36:10.7308480Z             },
2026-06-13T10:36:10.7308565Z             {
2026-06-13T10:36:10.7308678Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7308778Z               "line": 1538
2026-06-13T10:36:10.7308869Z             }
2026-06-13T10:36:10.7309045Z           ]
2026-06-13T10:36:10.7309131Z         }
2026-06-13T10:36:10.7309213Z       }
2026-06-13T10:36:10.7309312Z     },
2026-06-13T10:36:10.7309392Z     {
2026-06-13T10:36:10.7309527Z       "id": "REQ-HAZARD-BROKER-PROCESS-ISOLATION",
2026-06-13T10:36:10.7312180Z       "title": "Broker and brain are separate processes: the broker runs as its own long-lived per-machine process that survives every brain restart, so a routine (brain-only) self-update restarts the brain onto the swapped binary while every hosted endpoint (PTY child, live QUIC conn, listening socket) stays untouched at the PROCESS level. The in-process-thread broker (daemon.rs:165-170) is a regression that silently unrealizes REQ-UPD-3 — apply degrades to an in-process Brain::handoff no-op and new code does not run until an unrelated restart (KNOWN-HAZARDS 6.7). Evidence must prove process-level survival (SPIKE-01/03 productionized as int: PTY child + live QUIC survive a brain-PROCESS restart onto a swapped binary), re-pointing the regression-masked in-process int tags currently on REQ-DAEMON-2 / REQ-UPD-3 (ADR-0018).",
2026-06-13T10:36:10.7312313Z       "requiredStages": [
2026-06-13T10:36:10.7312395Z         "doc",
2026-06-13T10:36:10.7312490Z         "impl",
2026-06-13T10:36:10.7312574Z         "unit",
2026-06-13T10:36:10.7312671Z         "int"
2026-06-13T10:36:10.7312752Z       ],
2026-06-13T10:36:10.7312847Z       "stages": {
2026-06-13T10:36:10.7312942Z         "doc": {
2026-06-13T10:36:10.7313034Z           "complete": true,
2026-06-13T10:36:10.7313132Z           "evidence": [
2026-06-13T10:36:10.7313228Z             {
2026-06-13T10:36:10.7313344Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T10:36:10.7313433Z               "line": 288
2026-06-13T10:36:10.7313528Z             }
2026-06-13T10:36:10.7313616Z           ]
2026-06-13T10:36:10.7313697Z         },
2026-06-13T10:36:10.7313790Z         "impl": {
2026-06-13T10:36:10.7313885Z           "complete": true,
2026-06-13T10:36:10.7314103Z           "evidence": [
2026-06-13T10:36:10.7314183Z             {
2026-06-13T10:36:10.7314317Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T10:36:10.7314408Z               "line": 108
2026-06-13T10:36:10.7314493Z             },
2026-06-13T10:36:10.7314584Z             {
2026-06-13T10:36:10.7314703Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T10:36:10.7314793Z               "line": 729
2026-06-13T10:36:10.7314879Z             },
2026-06-13T10:36:10.7314966Z             {
2026-06-13T10:36:10.7315085Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T10:36:10.7315271Z               "line": 936
2026-06-13T10:36:10.7315361Z             },
2026-06-13T10:36:10.7315441Z             {
2026-06-13T10:36:10.7315572Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7315661Z               "line": 23
2026-06-13T10:36:10.7315756Z             },
2026-06-13T10:36:10.7315843Z             {
2026-06-13T10:36:10.7315967Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7316057Z               "line": 113
2026-06-13T10:36:10.7316143Z             },
2026-06-13T10:36:10.7316221Z             {
2026-06-13T10:36:10.7316328Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7316415Z               "line": 158
2026-06-13T10:36:10.7316511Z             },
2026-06-13T10:36:10.7316611Z             {
2026-06-13T10:36:10.7316747Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7316828Z               "line": 215
2026-06-13T10:36:10.7316925Z             },
2026-06-13T10:36:10.7317000Z             {
2026-06-13T10:36:10.7317119Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7317215Z               "line": 247
2026-06-13T10:36:10.7317301Z             },
2026-06-13T10:36:10.7317391Z             {
2026-06-13T10:36:10.7317507Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7317607Z               "line": 261
2026-06-13T10:36:10.7317691Z             },
2026-06-13T10:36:10.7317783Z             {
2026-06-13T10:36:10.7317902Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7317987Z               "line": 306
2026-06-13T10:36:10.7318073Z             },
2026-06-13T10:36:10.7318151Z             {
2026-06-13T10:36:10.7318259Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7318350Z               "line": 333
2026-06-13T10:36:10.7318427Z             },
2026-06-13T10:36:10.7318507Z             {
2026-06-13T10:36:10.7318626Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7318727Z               "line": 345
2026-06-13T10:36:10.7318809Z             },
2026-06-13T10:36:10.7318893Z             {
2026-06-13T10:36:10.7319102Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7319182Z               "line": 359
2026-06-13T10:36:10.7319276Z             },
2026-06-13T10:36:10.7319357Z             {
2026-06-13T10:36:10.7319496Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7319582Z               "line": 386
2026-06-13T10:36:10.7319667Z             },
2026-06-13T10:36:10.7319749Z             {
2026-06-13T10:36:10.7319863Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7319948Z               "line": 629
2026-06-13T10:36:10.7320030Z             },
2026-06-13T10:36:10.7320121Z             {
2026-06-13T10:36:10.7320234Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7320330Z               "line": 958
2026-06-13T10:36:10.7320426Z             },
2026-06-13T10:36:10.7320497Z             {
2026-06-13T10:36:10.7320626Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T10:36:10.7320731Z               "line": 111
2026-06-13T10:36:10.7320826Z             },
2026-06-13T10:36:10.7320907Z             {
2026-06-13T10:36:10.7321013Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T10:36:10.7321240Z               "line": 296
2026-06-13T10:36:10.7321328Z             },
2026-06-13T10:36:10.7321413Z             {
2026-06-13T10:36:10.7321532Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T10:36:10.7321618Z               "line": 368
2026-06-13T10:36:10.7321704Z             },
2026-06-13T10:36:10.7321789Z             {
2026-06-13T10:36:10.7321907Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T10:36:10.7321998Z               "line": 380
2026-06-13T10:36:10.7322077Z             },
2026-06-13T10:36:10.7322157Z             {
2026-06-13T10:36:10.7322368Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T10:36:10.7322454Z               "line": 716
2026-06-13T10:36:10.7322539Z             },
2026-06-13T10:36:10.7322621Z             {
2026-06-13T10:36:10.7322721Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7322820Z               "line": 181
2026-06-13T10:36:10.7322902Z             },
2026-06-13T10:36:10.7322997Z             {
2026-06-13T10:36:10.7323102Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7323192Z               "line": 223
2026-06-13T10:36:10.7323284Z             },
2026-06-13T10:36:10.7323364Z             {
2026-06-13T10:36:10.7323483Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7323570Z               "line": 234
2026-06-13T10:36:10.7323665Z             },
2026-06-13T10:36:10.7323755Z             {
2026-06-13T10:36:10.7323866Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7323956Z               "line": 260
2026-06-13T10:36:10.7324055Z             },
2026-06-13T10:36:10.7324142Z             {
2026-06-13T10:36:10.7324257Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T10:36:10.7324350Z               "line": 56
2026-06-13T10:36:10.7324445Z             },
2026-06-13T10:36:10.7324526Z             {
2026-06-13T10:36:10.7324654Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T10:36:10.7324743Z               "line": 188
2026-06-13T10:36:10.7324830Z             },
2026-06-13T10:36:10.7324911Z             {
2026-06-13T10:36:10.7325034Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-13T10:36:10.7325129Z               "line": 63
2026-06-13T10:36:10.7325221Z             },
2026-06-13T10:36:10.7325307Z             {
2026-06-13T10:36:10.7325425Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7325526Z               "line": 258
2026-06-13T10:36:10.7325612Z             },
2026-06-13T10:36:10.7325706Z             {
2026-06-13T10:36:10.7325836Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.7325916Z               "line": 424
2026-06-13T10:36:10.7326011Z             },
2026-06-13T10:36:10.7326093Z             {
2026-06-13T10:36:10.7326212Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7326293Z               "line": 1473
2026-06-13T10:36:10.7326374Z             }
2026-06-13T10:36:10.7326466Z           ]
2026-06-13T10:36:10.7326550Z         },
2026-06-13T10:36:10.7326631Z         "int": {
2026-06-13T10:36:10.7326718Z           "complete": true,
2026-06-13T10:36:10.7326814Z           "evidence": [
2026-06-13T10:36:10.7326898Z             {
2026-06-13T10:36:10.7327018Z               "path": "crates/spt/tests/brain_survive.rs",
2026-06-13T10:36:10.7327105Z               "line": 57
2026-06-13T10:36:10.7327194Z             },
2026-06-13T10:36:10.7327284Z             {
2026-06-13T10:36:10.7327393Z               "path": "crates/spt/tests/n1_pairing.rs",
2026-06-13T10:36:10.7327490Z               "line": 41
2026-06-13T10:36:10.7327579Z             }
2026-06-13T10:36:10.7327660Z           ]
2026-06-13T10:36:10.7327752Z         },
2026-06-13T10:36:10.7327833Z         "unit": {
2026-06-13T10:36:10.7327932Z           "complete": true,
2026-06-13T10:36:10.7328023Z           "evidence": [
2026-06-13T10:36:10.7328104Z             {
2026-06-13T10:36:10.7328227Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T10:36:10.7328424Z               "line": 532
2026-06-13T10:36:10.7328514Z             },
2026-06-13T10:36:10.7328595Z             {
2026-06-13T10:36:10.7328720Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T10:36:10.7328810Z               "line": 754
2026-06-13T10:36:10.7328900Z             },
2026-06-13T10:36:10.7329059Z             {
2026-06-13T10:36:10.7329186Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7329297Z               "line": 1027
2026-06-13T10:36:10.7329387Z             },
2026-06-13T10:36:10.7329462Z             {
2026-06-13T10:36:10.7329691Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7329789Z               "line": 1061
2026-06-13T10:36:10.7329869Z             },
2026-06-13T10:36:10.7329955Z             {
2026-06-13T10:36:10.7330080Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7330165Z               "line": 1103
2026-06-13T10:36:10.7330265Z             },
2026-06-13T10:36:10.7330347Z             {
2026-06-13T10:36:10.7330475Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7330566Z               "line": 1175
2026-06-13T10:36:10.7330647Z             },
2026-06-13T10:36:10.7330738Z             {
2026-06-13T10:36:10.7330846Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7330948Z               "line": 1188
2026-06-13T10:36:10.7331029Z             },
2026-06-13T10:36:10.7331109Z             {
2026-06-13T10:36:10.7331234Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7331333Z               "line": 1211
2026-06-13T10:36:10.7331429Z             },
2026-06-13T10:36:10.7331510Z             {
2026-06-13T10:36:10.7331634Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7331724Z               "line": 1237
2026-06-13T10:36:10.7331820Z             },
2026-06-13T10:36:10.7331907Z             {
2026-06-13T10:36:10.7332039Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7332135Z               "line": 1251
2026-06-13T10:36:10.7332217Z             },
2026-06-13T10:36:10.7332302Z             {
2026-06-13T10:36:10.7332410Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7332515Z               "line": 1275
2026-06-13T10:36:10.7332605Z             },
2026-06-13T10:36:10.7332689Z             {
2026-06-13T10:36:10.7332813Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7332905Z               "line": 1407
2026-06-13T10:36:10.7332999Z             },
2026-06-13T10:36:10.7333094Z             {
2026-06-13T10:36:10.7333219Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7333323Z               "line": 1583
2026-06-13T10:36:10.7333399Z             },
2026-06-13T10:36:10.7333491Z             {
2026-06-13T10:36:10.7333610Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7333718Z               "line": 1638
2026-06-13T10:36:10.7333801Z             },
2026-06-13T10:36:10.7333891Z             {
2026-06-13T10:36:10.7334019Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7334111Z               "line": 1684
2026-06-13T10:36:10.7334201Z             },
2026-06-13T10:36:10.7334286Z             {
2026-06-13T10:36:10.7334411Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7334512Z               "line": 1729
2026-06-13T10:36:10.7334596Z             },
2026-06-13T10:36:10.7334682Z             {
2026-06-13T10:36:10.7334798Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7334901Z               "line": 1773
2026-06-13T10:36:10.7334986Z             },
2026-06-13T10:36:10.7335077Z             {
2026-06-13T10:36:10.7335200Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7335289Z               "line": 1815
2026-06-13T10:36:10.7335380Z             },
2026-06-13T10:36:10.7335589Z             {
2026-06-13T10:36:10.7335709Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T10:36:10.7335800Z               "line": 1029
2026-06-13T10:36:10.7335895Z             },
2026-06-13T10:36:10.7335985Z             {
2026-06-13T10:36:10.7336105Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T10:36:10.7336205Z               "line": 217
2026-06-13T10:36:10.7336290Z             },
2026-06-13T10:36:10.7336382Z             {
2026-06-13T10:36:10.7336500Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T10:36:10.7336600Z               "line": 233
2026-06-13T10:36:10.7336773Z             },
2026-06-13T10:36:10.7336858Z             {
2026-06-13T10:36:10.7336983Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T10:36:10.7337073Z               "line": 254
2026-06-13T10:36:10.7337158Z             },
2026-06-13T10:36:10.7337244Z             {
2026-06-13T10:36:10.7337365Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T10:36:10.7337463Z               "line": 265
2026-06-13T10:36:10.7337549Z             },
2026-06-13T10:36:10.7337641Z             {
2026-06-13T10:36:10.7337764Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T10:36:10.7337863Z               "line": 278
2026-06-13T10:36:10.7337949Z             },
2026-06-13T10:36:10.7338040Z             {
2026-06-13T10:36:10.7338158Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T10:36:10.7338244Z               "line": 289
2026-06-13T10:36:10.7338336Z             },
2026-06-13T10:36:10.7338422Z             {
2026-06-13T10:36:10.7338544Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T10:36:10.7338637Z               "line": 301
2026-06-13T10:36:10.7338727Z             },
2026-06-13T10:36:10.7338816Z             {
2026-06-13T10:36:10.7338932Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T10:36:10.7339116Z               "line": 312
2026-06-13T10:36:10.7339203Z             },
2026-06-13T10:36:10.7339318Z             {
2026-06-13T10:36:10.7339436Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T10:36:10.7339528Z               "line": 323
2026-06-13T10:36:10.7339610Z             },
2026-06-13T10:36:10.7339693Z             {
2026-06-13T10:36:10.7339813Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T10:36:10.7339901Z               "line": 332
2026-06-13T10:36:10.7339989Z             },
2026-06-13T10:36:10.7340080Z             {
2026-06-13T10:36:10.7340193Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T10:36:10.7340283Z               "line": 342
2026-06-13T10:36:10.7340377Z             },
2026-06-13T10:36:10.7340458Z             {
2026-06-13T10:36:10.7340578Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T10:36:10.7340668Z               "line": 358
2026-06-13T10:36:10.7345363Z             },
2026-06-13T10:36:10.7345476Z             {
2026-06-13T10:36:10.7345632Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7345736Z               "line": 708
2026-06-13T10:36:10.7345830Z             },
2026-06-13T10:36:10.7345911Z             {
2026-06-13T10:36:10.7346050Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7346136Z               "line": 744
2026-06-13T10:36:10.7346221Z             },
2026-06-13T10:36:10.7346313Z             {
2026-06-13T10:36:10.7346432Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.7346536Z               "line": 950
2026-06-13T10:36:10.7346613Z             },
2026-06-13T10:36:10.7346712Z             {
2026-06-13T10:36:10.7346850Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-13T10:36:10.7346932Z               "line": 142
2026-06-13T10:36:10.7347023Z             },
2026-06-13T10:36:10.7347108Z             {
2026-06-13T10:36:10.7347228Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-13T10:36:10.7347318Z               "line": 221
2026-06-13T10:36:10.7347571Z             },
2026-06-13T10:36:10.7347671Z             {
2026-06-13T10:36:10.7347790Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-13T10:36:10.7347882Z               "line": 290
2026-06-13T10:36:10.7347972Z             },
2026-06-13T10:36:10.7348057Z             {
2026-06-13T10:36:10.7348182Z               "path": "crates/spt/tests/brain_split.rs",
2026-06-13T10:36:10.7348277Z               "line": 17
2026-06-13T10:36:10.7348366Z             },
2026-06-13T10:36:10.7348447Z             {
2026-06-13T10:36:10.7348567Z               "path": "crates/spt/tests/brain_split.rs",
2026-06-13T10:36:10.7348780Z               "line": 104
2026-06-13T10:36:10.7348867Z             }
2026-06-13T10:36:10.7349033Z           ]
2026-06-13T10:36:10.7349109Z         }
2026-06-13T10:36:10.7349201Z       }
2026-06-13T10:36:10.7349287Z     },
2026-06-13T10:36:10.7349371Z     {
2026-06-13T10:36:10.7349506Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-13T10:36:10.7349705Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-13T10:36:10.7349817Z       "requiredStages": [
2026-06-13T10:36:10.7349906Z         "impl",
2026-06-13T10:36:10.7349996Z         "unit"
2026-06-13T10:36:10.7350078Z       ],
2026-06-13T10:36:10.7350174Z       "stages": {
2026-06-13T10:36:10.7350258Z         "doc": {
2026-06-13T10:36:10.7350359Z           "complete": false,
2026-06-13T10:36:10.7350451Z           "evidence": []
2026-06-13T10:36:10.7350540Z         },
2026-06-13T10:36:10.7350635Z         "impl": {
2026-06-13T10:36:10.7350735Z           "complete": true,
2026-06-13T10:36:10.7350830Z           "evidence": [
2026-06-13T10:36:10.7350918Z             {
2026-06-13T10:36:10.7351052Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.7351138Z               "line": 149
2026-06-13T10:36:10.7351224Z             },
2026-06-13T10:36:10.7351314Z             {
2026-06-13T10:36:10.7351434Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T10:36:10.7351525Z               "line": 18
2026-06-13T10:36:10.7351619Z             },
2026-06-13T10:36:10.7351705Z             {
2026-06-13T10:36:10.7351820Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T10:36:10.7351910Z               "line": 98
2026-06-13T10:36:10.7351996Z             }
2026-06-13T10:36:10.7352078Z           ]
2026-06-13T10:36:10.7352168Z         },
2026-06-13T10:36:10.7352253Z         "int": {
2026-06-13T10:36:10.7352349Z           "complete": false,
2026-06-13T10:36:10.7352444Z           "evidence": []
2026-06-13T10:36:10.7352525Z         },
2026-06-13T10:36:10.7352620Z         "unit": {
2026-06-13T10:36:10.7352717Z           "complete": true,
2026-06-13T10:36:10.7352816Z           "evidence": [
2026-06-13T10:36:10.7352902Z             {
2026-06-13T10:36:10.7353028Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.7353125Z               "line": 644
2026-06-13T10:36:10.7353207Z             },
2026-06-13T10:36:10.7353303Z             {
2026-06-13T10:36:10.7353422Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T10:36:10.7353521Z               "line": 159
2026-06-13T10:36:10.7353602Z             },
2026-06-13T10:36:10.7353692Z             {
2026-06-13T10:36:10.7353809Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T10:36:10.7353894Z               "line": 231
2026-06-13T10:36:10.7353986Z             }
2026-06-13T10:36:10.7354067Z           ]
2026-06-13T10:36:10.7354162Z         }
2026-06-13T10:36:10.7354243Z       }
2026-06-13T10:36:10.7354339Z     },
2026-06-13T10:36:10.7354425Z     {
2026-06-13T10:36:10.7354543Z       "id": "REQ-HAZARD-CHILD-CONSOLE-FLASH",
2026-06-13T10:36:10.7354973Z       "title": "Console-subsystem children of the console-less daemon spawn with CREATE_NO_WINDOW, or each spawn flashes a visible blank window on the user's desktop (5.8)",
2026-06-13T10:36:10.7355073Z       "requiredStages": [
2026-06-13T10:36:10.7355163Z         "impl",
2026-06-13T10:36:10.7355246Z         "unit"
2026-06-13T10:36:10.7355331Z       ],
2026-06-13T10:36:10.7355541Z       "stages": {
2026-06-13T10:36:10.7355627Z         "doc": {
2026-06-13T10:36:10.7355730Z           "complete": true,
2026-06-13T10:36:10.7355822Z           "evidence": [
2026-06-13T10:36:10.7355913Z             {
2026-06-13T10:36:10.7356021Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T10:36:10.7356116Z               "line": 220
2026-06-13T10:36:10.7356202Z             }
2026-06-13T10:36:10.7356287Z           ]
2026-06-13T10:36:10.7356376Z         },
2026-06-13T10:36:10.7356466Z         "impl": {
2026-06-13T10:36:10.7356562Z           "complete": true,
2026-06-13T10:36:10.7356757Z           "evidence": [
2026-06-13T10:36:10.7356849Z             {
2026-06-13T10:36:10.7356978Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T10:36:10.7357071Z               "line": 302
2026-06-13T10:36:10.7357159Z             },
2026-06-13T10:36:10.7357244Z             {
2026-06-13T10:36:10.7357372Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T10:36:10.7357469Z               "line": 257
2026-06-13T10:36:10.7357559Z             },
2026-06-13T10:36:10.7357650Z             {
2026-06-13T10:36:10.7357768Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T10:36:10.7357860Z               "line": 405
2026-06-13T10:36:10.7357950Z             },
2026-06-13T10:36:10.7358035Z             {
2026-06-13T10:36:10.7358151Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-13T10:36:10.7358250Z               "line": 77
2026-06-13T10:36:10.7358336Z             }
2026-06-13T10:36:10.7358418Z           ]
2026-06-13T10:36:10.7358508Z         },
2026-06-13T10:36:10.7358597Z         "int": {
2026-06-13T10:36:10.7358699Z           "complete": false,
2026-06-13T10:36:10.7358785Z           "evidence": []
2026-06-13T10:36:10.7358879Z         },
2026-06-13T10:36:10.7359045Z         "unit": {
2026-06-13T10:36:10.7359132Z           "complete": true,
2026-06-13T10:36:10.7359227Z           "evidence": [
2026-06-13T10:36:10.7359317Z             {
2026-06-13T10:36:10.7359452Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T10:36:10.7359542Z               "line": 478
2026-06-13T10:36:10.7359631Z             },
2026-06-13T10:36:10.7359714Z             {
2026-06-13T10:36:10.7359827Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T10:36:10.7359917Z               "line": 516
2026-06-13T10:36:10.7360004Z             },
2026-06-13T10:36:10.7360095Z             {
2026-06-13T10:36:10.7360214Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-13T10:36:10.7360309Z               "line": 166
2026-06-13T10:36:10.7360405Z             }
2026-06-13T10:36:10.7360490Z           ]
2026-06-13T10:36:10.7360580Z         }
2026-06-13T10:36:10.7360663Z       }
2026-06-13T10:36:10.7360753Z     },
2026-06-13T10:36:10.7360833Z     {
2026-06-13T10:36:10.7360962Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-13T10:36:10.7361531Z       "title": "A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)",
2026-06-13T10:36:10.7361640Z       "requiredStages": [
2026-06-13T10:36:10.7361732Z         "impl",
2026-06-13T10:36:10.7361822Z         "unit"
2026-06-13T10:36:10.7361912Z       ],
2026-06-13T10:36:10.7362004Z       "stages": {
2026-06-13T10:36:10.7362094Z         "doc": {
2026-06-13T10:36:10.7362198Z           "complete": false,
2026-06-13T10:36:10.7362290Z           "evidence": []
2026-06-13T10:36:10.7362380Z         },
2026-06-13T10:36:10.7362465Z         "impl": {
2026-06-13T10:36:10.7362581Z           "complete": true,
2026-06-13T10:36:10.7362676Z           "evidence": [
2026-06-13T10:36:10.7362761Z             {
2026-06-13T10:36:10.7362900Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-13T10:36:10.7362990Z               "line": 22
2026-06-13T10:36:10.7363085Z             },
2026-06-13T10:36:10.7363171Z             {
2026-06-13T10:36:10.7363424Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T10:36:10.7363525Z               "line": 487
2026-06-13T10:36:10.7363611Z             },
2026-06-13T10:36:10.7363705Z             {
2026-06-13T10:36:10.7363830Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-13T10:36:10.7363926Z               "line": 17
2026-06-13T10:36:10.7364010Z             },
2026-06-13T10:36:10.7364100Z             {
2026-06-13T10:36:10.7364229Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-13T10:36:10.7364308Z               "line": 147
2026-06-13T10:36:10.7364389Z             },
2026-06-13T10:36:10.7364565Z             {
2026-06-13T10:36:10.7364708Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.7364793Z               "line": 226
2026-06-13T10:36:10.7364876Z             },
2026-06-13T10:36:10.7364971Z             {
2026-06-13T10:36:10.7365093Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.7365181Z               "line": 251
2026-06-13T10:36:10.7365271Z             },
2026-06-13T10:36:10.7365361Z             {
2026-06-13T10:36:10.7365486Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.7365571Z               "line": 277
2026-06-13T10:36:10.7365657Z             },
2026-06-13T10:36:10.7365742Z             {
2026-06-13T10:36:10.7365858Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-13T10:36:10.7365943Z               "line": 124
2026-06-13T10:36:10.7366034Z             },
2026-06-13T10:36:10.7366121Z             {
2026-06-13T10:36:10.7366224Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-13T10:36:10.7366329Z               "line": 224
2026-06-13T10:36:10.7366406Z             }
2026-06-13T10:36:10.7366492Z           ]
2026-06-13T10:36:10.7366577Z         },
2026-06-13T10:36:10.7366657Z         "int": {
2026-06-13T10:36:10.7366762Z           "complete": false,
2026-06-13T10:36:10.7366842Z           "evidence": []
2026-06-13T10:36:10.7366946Z         },
2026-06-13T10:36:10.7367026Z         "unit": {
2026-06-13T10:36:10.7367122Z           "complete": true,
2026-06-13T10:36:10.7367218Z           "evidence": [
2026-06-13T10:36:10.7367307Z             {
2026-06-13T10:36:10.7367428Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-13T10:36:10.7367523Z               "line": 62
2026-06-13T10:36:10.7367613Z             },
2026-06-13T10:36:10.7367699Z             {
2026-06-13T10:36:10.7367828Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-13T10:36:10.7367918Z               "line": 72
2026-06-13T10:36:10.7368009Z             },
2026-06-13T10:36:10.7368109Z             {
2026-06-13T10:36:10.7368228Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-13T10:36:10.7368324Z               "line": 84
2026-06-13T10:36:10.7368406Z             },
2026-06-13T10:36:10.7368495Z             {
2026-06-13T10:36:10.7368610Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-13T10:36:10.7368711Z               "line": 346
2026-06-13T10:36:10.7368819Z             },
2026-06-13T10:36:10.7368905Z             {
2026-06-13T10:36:10.7369139Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-13T10:36:10.7369225Z               "line": 281
2026-06-13T10:36:10.7369317Z             },
2026-06-13T10:36:10.7369402Z             {
2026-06-13T10:36:10.7369514Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-13T10:36:10.7369605Z               "line": 322
2026-06-13T10:36:10.7369697Z             },
2026-06-13T10:36:10.7369782Z             {
2026-06-13T10:36:10.7369891Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-13T10:36:10.7369997Z               "line": 360
2026-06-13T10:36:10.7370078Z             },
2026-06-13T10:36:10.7370163Z             {
2026-06-13T10:36:10.7370297Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.7370383Z               "line": 688
2026-06-13T10:36:10.7370468Z             },
2026-06-13T10:36:10.7370549Z             {
2026-06-13T10:36:10.7370793Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-13T10:36:10.7370883Z               "line": 397
2026-06-13T10:36:10.7370970Z             },
2026-06-13T10:36:10.7371059Z             {
2026-06-13T10:36:10.7371174Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-13T10:36:10.7371266Z               "line": 440
2026-06-13T10:36:10.7371355Z             }
2026-06-13T10:36:10.7371446Z           ]
2026-06-13T10:36:10.7371527Z         }
2026-06-13T10:36:10.7371619Z       }
2026-06-13T10:36:10.7371698Z     },
2026-06-13T10:36:10.7371779Z     {
2026-06-13T10:36:10.7372015Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-13T10:36:10.7372225Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-13T10:36:10.7372339Z       "requiredStages": [
2026-06-13T10:36:10.7372424Z         "impl",
2026-06-13T10:36:10.7372516Z         "unit"
2026-06-13T10:36:10.7372606Z       ],
2026-06-13T10:36:10.7372692Z       "stages": {
2026-06-13T10:36:10.7372796Z         "doc": {
2026-06-13T10:36:10.7372888Z           "complete": false,
2026-06-13T10:36:10.7372983Z           "evidence": []
2026-06-13T10:36:10.7373063Z         },
2026-06-13T10:36:10.7373150Z         "impl": {
2026-06-13T10:36:10.7373240Z           "complete": true,
2026-06-13T10:36:10.7373326Z           "evidence": [
2026-06-13T10:36:10.7373416Z             {
2026-06-13T10:36:10.7373537Z               "path": "crates/spt-term/src/reader.rs",
2026-06-13T10:36:10.7373632Z               "line": 169
2026-06-13T10:36:10.7373717Z             }
2026-06-13T10:36:10.7373813Z           ]
2026-06-13T10:36:10.7373912Z         },
2026-06-13T10:36:10.7373993Z         "int": {
2026-06-13T10:36:10.7374095Z           "complete": true,
2026-06-13T10:36:10.7374171Z           "evidence": [
2026-06-13T10:36:10.7374260Z             {
2026-06-13T10:36:10.7374366Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-13T10:36:10.7374448Z               "line": 44
2026-06-13T10:36:10.7374547Z             },
2026-06-13T10:36:10.7374622Z             {
2026-06-13T10:36:10.7374741Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-13T10:36:10.7374822Z               "line": 66
2026-06-13T10:36:10.7374910Z             }
2026-06-13T10:36:10.7374996Z           ]
2026-06-13T10:36:10.7375087Z         },
2026-06-13T10:36:10.7375178Z         "unit": {
2026-06-13T10:36:10.7375263Z           "complete": true,
2026-06-13T10:36:10.7375353Z           "evidence": [
2026-06-13T10:36:10.7375431Z             {
2026-06-13T10:36:10.7375549Z               "path": "crates/spt-term/src/reader.rs",
2026-06-13T10:36:10.7375640Z               "line": 186
2026-06-13T10:36:10.7375732Z             },
2026-06-13T10:36:10.7375817Z             {
2026-06-13T10:36:10.7375921Z               "path": "crates/spt-term/src/reader.rs",
2026-06-13T10:36:10.7376017Z               "line": 238
2026-06-13T10:36:10.7376108Z             },
2026-06-13T10:36:10.7376193Z             {
2026-06-13T10:36:10.7376302Z               "path": "crates/spt-term/src/reader.rs",
2026-06-13T10:36:10.7376409Z               "line": 266
2026-06-13T10:36:10.7376493Z             }
2026-06-13T10:36:10.7376574Z           ]
2026-06-13T10:36:10.7376666Z         }
2026-06-13T10:36:10.7376752Z       }
2026-06-13T10:36:10.7376841Z     },
2026-06-13T10:36:10.7376913Z     {
2026-06-13T10:36:10.7377029Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-13T10:36:10.7377444Z       "title": "Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)",
2026-06-13T10:36:10.7377539Z       "requiredStages": [
2026-06-13T10:36:10.7377639Z         "impl",
2026-06-13T10:36:10.7377721Z         "unit",
2026-06-13T10:36:10.7377801Z         "int"
2026-06-13T10:36:10.7377886Z       ],
2026-06-13T10:36:10.7377969Z       "stages": {
2026-06-13T10:36:10.7378059Z         "doc": {
2026-06-13T10:36:10.7378149Z           "complete": false,
2026-06-13T10:36:10.7378240Z           "evidence": []
2026-06-13T10:36:10.7378393Z         },
2026-06-13T10:36:10.7378488Z         "impl": {
2026-06-13T10:36:10.7378584Z           "complete": true,
2026-06-13T10:36:10.7378665Z           "evidence": [
2026-06-13T10:36:10.7378741Z             {
2026-06-13T10:36:10.7378869Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7379046Z               "line": 152
2026-06-13T10:36:10.7379127Z             },
2026-06-13T10:36:10.7379213Z             {
2026-06-13T10:36:10.7379365Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7379446Z               "line": 176
2026-06-13T10:36:10.7379670Z             },
2026-06-13T10:36:10.7379742Z             {
2026-06-13T10:36:10.7379858Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T10:36:10.7379943Z               "line": 79
2026-06-13T10:36:10.7380027Z             },
2026-06-13T10:36:10.7380108Z             {
2026-06-13T10:36:10.7380214Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-13T10:36:10.7380319Z               "line": 51
2026-06-13T10:36:10.7380403Z             },
2026-06-13T10:36:10.7380494Z             {
2026-06-13T10:36:10.7380605Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T10:36:10.7380699Z               "line": 154
2026-06-13T10:36:10.7380790Z             },
2026-06-13T10:36:10.7380872Z             {
2026-06-13T10:36:10.7380996Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-13T10:36:10.7381075Z               "line": 27
2026-06-13T10:36:10.7381158Z             },
2026-06-13T10:36:10.7381239Z             {
2026-06-13T10:36:10.7381357Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-13T10:36:10.7381453Z               "line": 79
2026-06-13T10:36:10.7381530Z             },
2026-06-13T10:36:10.7381615Z             {
2026-06-13T10:36:10.7381739Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-13T10:36:10.7381830Z               "line": 102
2026-06-13T10:36:10.7381920Z             },
2026-06-13T10:36:10.7382011Z             {
2026-06-13T10:36:10.7382126Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T10:36:10.7382217Z               "line": 116
2026-06-13T10:36:10.7382296Z             }
2026-06-13T10:36:10.7382381Z           ]
2026-06-13T10:36:10.7382462Z         },
2026-06-13T10:36:10.7382543Z         "int": {
2026-06-13T10:36:10.7382641Z           "complete": true,
2026-06-13T10:36:10.7382727Z           "evidence": [
2026-06-13T10:36:10.7382809Z             {
2026-06-13T10:36:10.7382932Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-13T10:36:10.7383013Z               "line": 38
2026-06-13T10:36:10.7383109Z             }
2026-06-13T10:36:10.7383190Z           ]
2026-06-13T10:36:10.7383275Z         },
2026-06-13T10:36:10.7383361Z         "unit": {
2026-06-13T10:36:10.7383448Z           "complete": true,
2026-06-13T10:36:10.7383543Z           "evidence": [
2026-06-13T10:36:10.7383623Z             {
2026-06-13T10:36:10.7383749Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7383843Z               "line": 628
2026-06-13T10:36:10.7383933Z             },
2026-06-13T10:36:10.7384010Z             {
2026-06-13T10:36:10.7384116Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T10:36:10.7384211Z               "line": 351
2026-06-13T10:36:10.7384296Z             },
2026-06-13T10:36:10.7384378Z             {
2026-06-13T10:36:10.7384486Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-13T10:36:10.7384572Z               "line": 124
2026-06-13T10:36:10.7384665Z             },
2026-06-13T10:36:10.7384741Z             {
2026-06-13T10:36:10.7384868Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-13T10:36:10.7384945Z               "line": 143
2026-06-13T10:36:10.7385037Z             },
2026-06-13T10:36:10.7385125Z             {
2026-06-13T10:36:10.7385234Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-13T10:36:10.7385320Z               "line": 160
2026-06-13T10:36:10.7385406Z             },
2026-06-13T10:36:10.7385594Z             {
2026-06-13T10:36:10.7385700Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-13T10:36:10.7385785Z               "line": 187
2026-06-13T10:36:10.7385871Z             },
2026-06-13T10:36:10.7385957Z             {
2026-06-13T10:36:10.7386077Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-13T10:36:10.7386171Z               "line": 206
2026-06-13T10:36:10.7386263Z             },
2026-06-13T10:36:10.7386339Z             {
2026-06-13T10:36:10.7386462Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T10:36:10.7386553Z               "line": 229
2026-06-13T10:36:10.7386710Z             }
2026-06-13T10:36:10.7386801Z           ]
2026-06-13T10:36:10.7386882Z         }
2026-06-13T10:36:10.7386978Z       }
2026-06-13T10:36:10.7387053Z     },
2026-06-13T10:36:10.7387139Z     {
2026-06-13T10:36:10.7387260Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-13T10:36:10.7387887Z       "title": "Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)",
2026-06-13T10:36:10.7388000Z       "requiredStages": [
2026-06-13T10:36:10.7388085Z         "impl",
2026-06-13T10:36:10.7388166Z         "unit"
2026-06-13T10:36:10.7388252Z       ],
2026-06-13T10:36:10.7388338Z       "stages": {
2026-06-13T10:36:10.7388423Z         "doc": {
2026-06-13T10:36:10.7388504Z           "complete": false,
2026-06-13T10:36:10.7388601Z           "evidence": []
2026-06-13T10:36:10.7388690Z         },
2026-06-13T10:36:10.7388771Z         "impl": {
2026-06-13T10:36:10.7388873Z           "complete": true,
2026-06-13T10:36:10.7389019Z           "evidence": [
2026-06-13T10:36:10.7389115Z             {
2026-06-13T10:36:10.7389220Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T10:36:10.7389330Z               "line": 327
2026-06-13T10:36:10.7389410Z             },
2026-06-13T10:36:10.7389512Z             {
2026-06-13T10:36:10.7389649Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T10:36:10.7389734Z               "line": 530
2026-06-13T10:36:10.7389817Z             }
2026-06-13T10:36:10.7389892Z           ]
2026-06-13T10:36:10.7389973Z         },
2026-06-13T10:36:10.7390054Z         "int": {
2026-06-13T10:36:10.7390156Z           "complete": false,
2026-06-13T10:36:10.7390249Z           "evidence": []
2026-06-13T10:36:10.7390326Z         },
2026-06-13T10:36:10.7390408Z         "unit": {
2026-06-13T10:36:10.7390503Z           "complete": true,
2026-06-13T10:36:10.7390607Z           "evidence": [
2026-06-13T10:36:10.7390687Z             {
2026-06-13T10:36:10.7390812Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-13T10:36:10.7390898Z               "line": 161
2026-06-13T10:36:10.7390973Z             }
2026-06-13T10:36:10.7391054Z           ]
2026-06-13T10:36:10.7391136Z         }
2026-06-13T10:36:10.7391222Z       }
2026-06-13T10:36:10.7391311Z     },
2026-06-13T10:36:10.7391399Z     {
2026-06-13T10:36:10.7391494Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-13T10:36:10.7391670Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-13T10:36:10.7391770Z       "requiredStages": [
2026-06-13T10:36:10.7391851Z         "impl",
2026-06-13T10:36:10.7391946Z         "unit"
2026-06-13T10:36:10.7392028Z       ],
2026-06-13T10:36:10.7392119Z       "stages": {
2026-06-13T10:36:10.7392204Z         "doc": {
2026-06-13T10:36:10.7392294Z           "complete": false,
2026-06-13T10:36:10.7392381Z           "evidence": []
2026-06-13T10:36:10.7392471Z         },
2026-06-13T10:36:10.7392547Z         "impl": {
2026-06-13T10:36:10.7392633Z           "complete": true,
2026-06-13T10:36:10.7392729Z           "evidence": [
2026-06-13T10:36:10.7392814Z             {
2026-06-13T10:36:10.7392928Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T10:36:10.7393023Z               "line": 40
2026-06-13T10:36:10.7393216Z             },
2026-06-13T10:36:10.7393292Z             {
2026-06-13T10:36:10.7393398Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T10:36:10.7393488Z               "line": 100
2026-06-13T10:36:10.7393578Z             },
2026-06-13T10:36:10.7393655Z             {
2026-06-13T10:36:10.7393770Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T10:36:10.7393859Z               "line": 215
2026-06-13T10:36:10.7393951Z             },
2026-06-13T10:36:10.7394032Z             {
2026-06-13T10:36:10.7394150Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T10:36:10.7394342Z               "line": 314
2026-06-13T10:36:10.7394423Z             }
2026-06-13T10:36:10.7394517Z           ]
2026-06-13T10:36:10.7394600Z         },
2026-06-13T10:36:10.7394694Z         "int": {
2026-06-13T10:36:10.7394785Z           "complete": false,
2026-06-13T10:36:10.7394880Z           "evidence": []
2026-06-13T10:36:10.7394972Z         },
2026-06-13T10:36:10.7395060Z         "unit": {
2026-06-13T10:36:10.7395171Z           "complete": true,
2026-06-13T10:36:10.7395263Z           "evidence": [
2026-06-13T10:36:10.7395352Z             {
2026-06-13T10:36:10.7395466Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T10:36:10.7395563Z               "line": 352
2026-06-13T10:36:10.7395658Z             },
2026-06-13T10:36:10.7395747Z             {
2026-06-13T10:36:10.7395861Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T10:36:10.7395952Z               "line": 409
2026-06-13T10:36:10.7396040Z             },
2026-06-13T10:36:10.7396126Z             {
2026-06-13T10:36:10.7396251Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T10:36:10.7396346Z               "line": 458
2026-06-13T10:36:10.7396431Z             },
2026-06-13T10:36:10.7396522Z             {
2026-06-13T10:36:10.7396632Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T10:36:10.7396726Z               "line": 479
2026-06-13T10:36:10.7396813Z             }
2026-06-13T10:36:10.7396904Z           ]
2026-06-13T10:36:10.7396990Z         }
2026-06-13T10:36:10.7397070Z       }
2026-06-13T10:36:10.7397156Z     },
2026-06-13T10:36:10.7397237Z     {
2026-06-13T10:36:10.7397361Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-13T10:36:10.7397481Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-13T10:36:10.7397576Z       "requiredStages": [
2026-06-13T10:36:10.7397666Z         "impl",
2026-06-13T10:36:10.7397747Z         "unit"
2026-06-13T10:36:10.7397834Z       ],
2026-06-13T10:36:10.7397918Z       "stages": {
2026-06-13T10:36:10.7398009Z         "doc": {
2026-06-13T10:36:10.7398115Z           "complete": false,
2026-06-13T10:36:10.7398210Z           "evidence": []
2026-06-13T10:36:10.7398304Z         },
2026-06-13T10:36:10.7398394Z         "impl": {
2026-06-13T10:36:10.7398495Z           "complete": true,
2026-06-13T10:36:10.7398583Z           "evidence": [
2026-06-13T10:36:10.7398673Z             {
2026-06-13T10:36:10.7398788Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T10:36:10.7398898Z               "line": 113
2026-06-13T10:36:10.7399079Z             },
2026-06-13T10:36:10.7399165Z             {
2026-06-13T10:36:10.7399284Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T10:36:10.7399384Z               "line": 208
2026-06-13T10:36:10.7399475Z             }
2026-06-13T10:36:10.7399570Z           ]
2026-06-13T10:36:10.7399665Z         },
2026-06-13T10:36:10.7399757Z         "int": {
2026-06-13T10:36:10.7399847Z           "complete": false,
2026-06-13T10:36:10.7399947Z           "evidence": []
2026-06-13T10:36:10.7400038Z         },
2026-06-13T10:36:10.7400128Z         "unit": {
2026-06-13T10:36:10.7400223Z           "complete": true,
2026-06-13T10:36:10.7400319Z           "evidence": [
2026-06-13T10:36:10.7400410Z             {
2026-06-13T10:36:10.7400524Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T10:36:10.7400614Z               "line": 373
2026-06-13T10:36:10.7400702Z             },
2026-06-13T10:36:10.7400910Z             {
2026-06-13T10:36:10.7401026Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T10:36:10.7401119Z               "line": 436
2026-06-13T10:36:10.7401209Z             }
2026-06-13T10:36:10.7401295Z           ]
2026-06-13T10:36:10.7401387Z         }
2026-06-13T10:36:10.7401472Z       }
2026-06-13T10:36:10.7401566Z     },
2026-06-13T10:36:10.7401648Z     {
2026-06-13T10:36:10.7401782Z       "id": "REQ-HAZARD-DETACHED-PIPE-INHERIT",
2026-06-13T10:36:10.7403117Z       "title": "Windows detached long-lived children must not inherit a captured caller's pipe: every detach-spawn of an immortal child (daemon, shell binary) runs bInheritHandles=FALSE, or a caller capturing output anywhere up the process chain hangs forever on a pipe that never EOFs — std-handle flag stripping is NOT sufficient (grandparent strays still flow) (5.6)",
2026-06-13T10:36:10.7403332Z       "requiredStages": [
2026-06-13T10:36:10.7403430Z         "impl",
2026-06-13T10:36:10.7403516Z         "unit"
2026-06-13T10:36:10.7403621Z       ],
2026-06-13T10:36:10.7403714Z       "stages": {
2026-06-13T10:36:10.7403799Z         "doc": {
2026-06-13T10:36:10.7403900Z           "complete": true,
2026-06-13T10:36:10.7403987Z           "evidence": [
2026-06-13T10:36:10.7404081Z             {
2026-06-13T10:36:10.7404191Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T10:36:10.7404292Z               "line": 206
2026-06-13T10:36:10.7404382Z             }
2026-06-13T10:36:10.7404467Z           ]
2026-06-13T10:36:10.7404554Z         },
2026-06-13T10:36:10.7404639Z         "impl": {
2026-06-13T10:36:10.7404738Z           "complete": true,
2026-06-13T10:36:10.7404836Z           "evidence": [
2026-06-13T10:36:10.7404921Z             {
2026-06-13T10:36:10.7405049Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7405145Z               "line": 593
2026-06-13T10:36:10.7405231Z             },
2026-06-13T10:36:10.7405317Z             {
2026-06-13T10:36:10.7405440Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7405532Z               "line": 685
2026-06-13T10:36:10.7405616Z             },
2026-06-13T10:36:10.7405702Z             {
2026-06-13T10:36:10.7405828Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T10:36:10.7405926Z               "line": 183
2026-06-13T10:36:10.7406012Z             }
2026-06-13T10:36:10.7406094Z           ]
2026-06-13T10:36:10.7406176Z         },
2026-06-13T10:36:10.7406260Z         "int": {
2026-06-13T10:36:10.7406354Z           "complete": false,
2026-06-13T10:36:10.7406441Z           "evidence": []
2026-06-13T10:36:10.7406535Z         },
2026-06-13T10:36:10.7406619Z         "unit": {
2026-06-13T10:36:10.7406719Z           "complete": true,
2026-06-13T10:36:10.7406806Z           "evidence": [
2026-06-13T10:36:10.7406892Z             {
2026-06-13T10:36:10.7407010Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7407097Z               "line": 734
2026-06-13T10:36:10.7407187Z             },
2026-06-13T10:36:10.7407277Z             {
2026-06-13T10:36:10.7407402Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-13T10:36:10.7407492Z               "line": 44
2026-06-13T10:36:10.7407578Z             },
2026-06-13T10:36:10.7407659Z             {
2026-06-13T10:36:10.7407765Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-13T10:36:10.7407849Z               "line": 57
2026-06-13T10:36:10.7407930Z             },
2026-06-13T10:36:10.7408017Z             {
2026-06-13T10:36:10.7408150Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-13T10:36:10.7408245Z               "line": 54
2026-06-13T10:36:10.7408332Z             }
2026-06-13T10:36:10.7408413Z           ]
2026-06-13T10:36:10.7408507Z         }
2026-06-13T10:36:10.7408598Z       }
2026-06-13T10:36:10.7408685Z     },
2026-06-13T10:36:10.7408770Z     {
2026-06-13T10:36:10.7408907Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-13T10:36:10.7409200Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-13T10:36:10.7409435Z       "requiredStages": [
2026-06-13T10:36:10.7409524Z         "impl",
2026-06-13T10:36:10.7409610Z         "unit"
2026-06-13T10:36:10.7409692Z       ],
2026-06-13T10:36:10.7409778Z       "stages": {
2026-06-13T10:36:10.7409868Z         "doc": {
2026-06-13T10:36:10.7409974Z           "complete": false,
2026-06-13T10:36:10.7410068Z           "evidence": []
2026-06-13T10:36:10.7410158Z         },
2026-06-13T10:36:10.7410250Z         "impl": {
2026-06-13T10:36:10.7410350Z           "complete": true,
2026-06-13T10:36:10.7410440Z           "evidence": [
2026-06-13T10:36:10.7410642Z             {
2026-06-13T10:36:10.7410779Z               "path": "crates/spt-live/src/context.rs",
2026-06-13T10:36:10.7410874Z               "line": 26
2026-06-13T10:36:10.7410984Z             },
2026-06-13T10:36:10.7411069Z             {
2026-06-13T10:36:10.7411204Z               "path": "crates/spt-live/src/context.rs",
2026-06-13T10:36:10.7411322Z               "line": 135
2026-06-13T10:36:10.7411413Z             },
2026-06-13T10:36:10.7411514Z             {
2026-06-13T10:36:10.7411647Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-13T10:36:10.7411751Z               "line": 26
2026-06-13T10:36:10.7411836Z             },
2026-06-13T10:36:10.7411951Z             {
2026-06-13T10:36:10.7412098Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-13T10:36:10.7412194Z               "line": 237
2026-06-13T10:36:10.7412294Z             }
2026-06-13T10:36:10.7412384Z           ]
2026-06-13T10:36:10.7412499Z         },
2026-06-13T10:36:10.7412609Z         "int": {
2026-06-13T10:36:10.7417938Z           "complete": false,
2026-06-13T10:36:10.7418086Z           "evidence": []
2026-06-13T10:36:10.7418180Z         },
2026-06-13T10:36:10.7418272Z         "unit": {
2026-06-13T10:36:10.7418367Z           "complete": true,
2026-06-13T10:36:10.7418458Z           "evidence": [
2026-06-13T10:36:10.7418543Z             {
2026-06-13T10:36:10.7418705Z               "path": "crates/spt-live/src/context.rs",
2026-06-13T10:36:10.7418800Z               "line": 161
2026-06-13T10:36:10.7418887Z             },
2026-06-13T10:36:10.7419057Z             {
2026-06-13T10:36:10.7419187Z               "path": "crates/spt-live/src/context.rs",
2026-06-13T10:36:10.7419288Z               "line": 170
2026-06-13T10:36:10.7419377Z             },
2026-06-13T10:36:10.7419467Z             {
2026-06-13T10:36:10.7419577Z               "path": "crates/spt-live/src/context.rs",
2026-06-13T10:36:10.7419671Z               "line": 179
2026-06-13T10:36:10.7419765Z             },
2026-06-13T10:36:10.7419856Z             {
2026-06-13T10:36:10.7419976Z               "path": "crates/spt-live/src/context.rs",
2026-06-13T10:36:10.7420061Z               "line": 190
2026-06-13T10:36:10.7420141Z             },
2026-06-13T10:36:10.7420229Z             {
2026-06-13T10:36:10.7420343Z               "path": "crates/spt-live/src/context.rs",
2026-06-13T10:36:10.7420437Z               "line": 199
2026-06-13T10:36:10.7420514Z             },
2026-06-13T10:36:10.7420600Z             {
2026-06-13T10:36:10.7420709Z               "path": "crates/spt-live/src/context.rs",
2026-06-13T10:36:10.7420800Z               "line": 216
2026-06-13T10:36:10.7420896Z             },
2026-06-13T10:36:10.7420976Z             {
2026-06-13T10:36:10.7421095Z               "path": "crates/spt-live/src/context.rs",
2026-06-13T10:36:10.7421178Z               "line": 242
2026-06-13T10:36:10.7421267Z             },
2026-06-13T10:36:10.7421348Z             {
2026-06-13T10:36:10.7421464Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-13T10:36:10.7421563Z               "line": 295
2026-06-13T10:36:10.7421644Z             },
2026-06-13T10:36:10.7421735Z             {
2026-06-13T10:36:10.7421841Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-13T10:36:10.7421944Z               "line": 244
2026-06-13T10:36:10.7422030Z             },
2026-06-13T10:36:10.7422117Z             {
2026-06-13T10:36:10.7422429Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-13T10:36:10.7422511Z               "line": 265
2026-06-13T10:36:10.7422596Z             },
2026-06-13T10:36:10.7422682Z             {
2026-06-13T10:36:10.7422807Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-13T10:36:10.7422897Z               "line": 293
2026-06-13T10:36:10.7422987Z             },
2026-06-13T10:36:10.7423074Z             {
2026-06-13T10:36:10.7423198Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-13T10:36:10.7423292Z               "line": 317
2026-06-13T10:36:10.7423379Z             },
2026-06-13T10:36:10.7423574Z             {
2026-06-13T10:36:10.7423694Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-13T10:36:10.7423803Z               "line": 327
2026-06-13T10:36:10.7423884Z             },
2026-06-13T10:36:10.7423965Z             {
2026-06-13T10:36:10.7424094Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-13T10:36:10.7424194Z               "line": 540
2026-06-13T10:36:10.7424284Z             }
2026-06-13T10:36:10.7424372Z           ]
2026-06-13T10:36:10.7424457Z         }
2026-06-13T10:36:10.7424541Z       }
2026-06-13T10:36:10.7424626Z     },
2026-06-13T10:36:10.7424708Z     {
2026-06-13T10:36:10.7424834Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-13T10:36:10.7424992Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-13T10:36:10.7425097Z       "requiredStages": [
2026-06-13T10:36:10.7425183Z         "impl",
2026-06-13T10:36:10.7425278Z         "unit"
2026-06-13T10:36:10.7425383Z       ],
2026-06-13T10:36:10.7425516Z       "stages": {
2026-06-13T10:36:10.7425602Z         "doc": {
2026-06-13T10:36:10.7425708Z           "complete": false,
2026-06-13T10:36:10.7425807Z           "evidence": []
2026-06-13T10:36:10.7425887Z         },
2026-06-13T10:36:10.7425984Z         "impl": {
2026-06-13T10:36:10.7426079Z           "complete": true,
2026-06-13T10:36:10.7426174Z           "evidence": [
2026-06-13T10:36:10.7426270Z             {
2026-06-13T10:36:10.7426389Z               "path": "crates/spt-live/src/echo.rs",
2026-06-13T10:36:10.7426489Z               "line": 25
2026-06-13T10:36:10.7426575Z             },
2026-06-13T10:36:10.7426661Z             {
2026-06-13T10:36:10.7426780Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-13T10:36:10.7426876Z               "line": 26
2026-06-13T10:36:10.7426962Z             },
2026-06-13T10:36:10.7427056Z             {
2026-06-13T10:36:10.7427171Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-13T10:36:10.7427263Z               "line": 159
2026-06-13T10:36:10.7427366Z             }
2026-06-13T10:36:10.7427451Z           ]
2026-06-13T10:36:10.7427546Z         },
2026-06-13T10:36:10.7427632Z         "int": {
2026-06-13T10:36:10.7427730Z           "complete": false,
2026-06-13T10:36:10.7427835Z           "evidence": []
2026-06-13T10:36:10.7427921Z         },
2026-06-13T10:36:10.7428017Z         "unit": {
2026-06-13T10:36:10.7428116Z           "complete": true,
2026-06-13T10:36:10.7428212Z           "evidence": [
2026-06-13T10:36:10.7428293Z             {
2026-06-13T10:36:10.7428407Z               "path": "crates/spt-live/src/echo.rs",
2026-06-13T10:36:10.7428498Z               "line": 184
2026-06-13T10:36:10.7428584Z             },
2026-06-13T10:36:10.7428670Z             {
2026-06-13T10:36:10.7428779Z               "path": "crates/spt-live/src/echo.rs",
2026-06-13T10:36:10.7428870Z               "line": 236
2026-06-13T10:36:10.7429022Z             },
2026-06-13T10:36:10.7429108Z             {
2026-06-13T10:36:10.7429233Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-13T10:36:10.7429332Z               "line": 186
2026-06-13T10:36:10.7429418Z             }
2026-06-13T10:36:10.7429500Z           ]
2026-06-13T10:36:10.7429590Z         }
2026-06-13T10:36:10.7429671Z       }
2026-06-13T10:36:10.7429757Z     },
2026-06-13T10:36:10.7429853Z     {
2026-06-13T10:36:10.7429956Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-13T10:36:10.7430245Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-13T10:36:10.7430339Z       "requiredStages": [
2026-06-13T10:36:10.7430431Z         "impl",
2026-06-13T10:36:10.7430516Z         "unit"
2026-06-13T10:36:10.7430611Z       ],
2026-06-13T10:36:10.7430702Z       "stages": {
2026-06-13T10:36:10.7430784Z         "doc": {
2026-06-13T10:36:10.7430884Z           "complete": false,
2026-06-13T10:36:10.7430968Z           "evidence": []
2026-06-13T10:36:10.7431060Z         },
2026-06-13T10:36:10.7431146Z         "impl": {
2026-06-13T10:36:10.7431246Z           "complete": true,
2026-06-13T10:36:10.7431442Z           "evidence": [
2026-06-13T10:36:10.7431531Z             {
2026-06-13T10:36:10.7431651Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-13T10:36:10.7431743Z               "line": 48
2026-06-13T10:36:10.7431832Z             },
2026-06-13T10:36:10.7431913Z             {
2026-06-13T10:36:10.7432033Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-13T10:36:10.7432142Z               "line": 55
2026-06-13T10:36:10.7432223Z             },
2026-06-13T10:36:10.7432319Z             {
2026-06-13T10:36:10.7432434Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-13T10:36:10.7432533Z               "line": 74
2026-06-13T10:36:10.7432614Z             },
2026-06-13T10:36:10.7432706Z             {
2026-06-13T10:36:10.7432823Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-13T10:36:10.7432913Z               "line": 91
2026-06-13T10:36:10.7433004Z             }
2026-06-13T10:36:10.7433086Z           ]
2026-06-13T10:36:10.7433176Z         },
2026-06-13T10:36:10.7433271Z         "int": {
2026-06-13T10:36:10.7433372Z           "complete": false,
2026-06-13T10:36:10.7433467Z           "evidence": []
2026-06-13T10:36:10.7433552Z         },
2026-06-13T10:36:10.7433649Z         "unit": {
2026-06-13T10:36:10.7433739Z           "complete": true,
2026-06-13T10:36:10.7433833Z           "evidence": [
2026-06-13T10:36:10.7433925Z             {
2026-06-13T10:36:10.7434048Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-13T10:36:10.7434148Z               "line": 149
2026-06-13T10:36:10.7434234Z             },
2026-06-13T10:36:10.7434321Z             {
2026-06-13T10:36:10.7434435Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-13T10:36:10.7434539Z               "line": 166
2026-06-13T10:36:10.7434622Z             },
2026-06-13T10:36:10.7434716Z             {
2026-06-13T10:36:10.7434835Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-13T10:36:10.7434927Z               "line": 176
2026-06-13T10:36:10.7435035Z             },
2026-06-13T10:36:10.7435120Z             {
2026-06-13T10:36:10.7435234Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-13T10:36:10.7435324Z               "line": 194
2026-06-13T10:36:10.7435418Z             },
2026-06-13T10:36:10.7435513Z             {
2026-06-13T10:36:10.7435624Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-13T10:36:10.7435728Z               "line": 207
2026-06-13T10:36:10.7435813Z             }
2026-06-13T10:36:10.7435900Z           ]
2026-06-13T10:36:10.7435986Z         }
2026-06-13T10:36:10.7436081Z       }
2026-06-13T10:36:10.7436181Z     },
2026-06-13T10:36:10.7436263Z     {
2026-06-13T10:36:10.7436381Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-13T10:36:10.7436568Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-13T10:36:10.7436672Z       "requiredStages": [
2026-06-13T10:36:10.7436753Z         "impl",
2026-06-13T10:36:10.7436845Z         "unit"
2026-06-13T10:36:10.7436934Z       ],
2026-06-13T10:36:10.7437030Z       "stages": {
2026-06-13T10:36:10.7437121Z         "doc": {
2026-06-13T10:36:10.7437212Z           "complete": false,
2026-06-13T10:36:10.7437316Z           "evidence": []
2026-06-13T10:36:10.7437397Z         },
2026-06-13T10:36:10.7437494Z         "impl": {
2026-06-13T10:36:10.7437592Z           "complete": true,
2026-06-13T10:36:10.7437679Z           "evidence": [
2026-06-13T10:36:10.7437846Z             {
2026-06-13T10:36:10.7437973Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7438073Z               "line": 416
2026-06-13T10:36:10.7438159Z             },
2026-06-13T10:36:10.7438252Z             {
2026-06-13T10:36:10.7438375Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-13T10:36:10.7438462Z               "line": 26
2026-06-13T10:36:10.7438558Z             }
2026-06-13T10:36:10.7438643Z           ]
2026-06-13T10:36:10.7438733Z         },
2026-06-13T10:36:10.7438820Z         "int": {
2026-06-13T10:36:10.7438920Z           "complete": false,
2026-06-13T10:36:10.7439211Z           "evidence": []
2026-06-13T10:36:10.7439300Z         },
2026-06-13T10:36:10.7439392Z         "unit": {
2026-06-13T10:36:10.7439478Z           "complete": true,
2026-06-13T10:36:10.7439568Z           "evidence": [
2026-06-13T10:36:10.7439649Z             {
2026-06-13T10:36:10.7439774Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-13T10:36:10.7439882Z               "line": 150
2026-06-13T10:36:10.7439959Z             },
2026-06-13T10:36:10.7440051Z             {
2026-06-13T10:36:10.7440159Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-13T10:36:10.7440259Z               "line": 208
2026-06-13T10:36:10.7440337Z             }
2026-06-13T10:36:10.7440427Z           ]
2026-06-13T10:36:10.7440507Z         }
2026-06-13T10:36:10.7440583Z       }
2026-06-13T10:36:10.7440668Z     },
2026-06-13T10:36:10.7440754Z     {
2026-06-13T10:36:10.7440880Z       "id": "REQ-HAZARD-ELEVATED-DAEMON-SPAWN",
2026-06-13T10:36:10.7442426Z       "title": "The daemon always runs unelevated in the invoking user's universe, regardless of which command spawns it: an elevated spawner de-elevates (Windows: UAC linked token via CreateProcessWithTokenW; Linux: drop to SUDO_UID/SUDO_GID + the invoker's HOME) — an elevated daemon's pipes deny unelevated clients (every later spt reads not-running→spawn→bind Access-denied) and a sudo'd daemon roots the user's state universe (5.7)",
2026-06-13T10:36:10.7442554Z       "requiredStages": [
2026-06-13T10:36:10.7442641Z         "doc",
2026-06-13T10:36:10.7442726Z         "impl",
2026-06-13T10:36:10.7442811Z         "unit"
2026-06-13T10:36:10.7442894Z       ],
2026-06-13T10:36:10.7442980Z       "stages": {
2026-06-13T10:36:10.7443068Z         "doc": {
2026-06-13T10:36:10.7443160Z           "complete": true,
2026-06-13T10:36:10.7443261Z           "evidence": [
2026-06-13T10:36:10.7443346Z             {
2026-06-13T10:36:10.7443459Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T10:36:10.7443545Z               "line": 214
2026-06-13T10:36:10.7443646Z             }
2026-06-13T10:36:10.7443726Z           ]
2026-06-13T10:36:10.7443812Z         },
2026-06-13T10:36:10.7443908Z         "impl": {
2026-06-13T10:36:10.7443989Z           "complete": true,
2026-06-13T10:36:10.7444093Z           "evidence": [
2026-06-13T10:36:10.7444180Z             {
2026-06-13T10:36:10.7444313Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7444417Z               "line": 54
2026-06-13T10:36:10.7444499Z             },
2026-06-13T10:36:10.7444590Z             {
2026-06-13T10:36:10.7444713Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7444809Z               "line": 511
2026-06-13T10:36:10.7444895Z             },
2026-06-13T10:36:10.7444975Z             {
2026-06-13T10:36:10.7445104Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T10:36:10.7445196Z               "line": 36
2026-06-13T10:36:10.7445294Z             },
2026-06-13T10:36:10.7445366Z             {
2026-06-13T10:36:10.7445502Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T10:36:10.7445609Z               "line": 59
2026-06-13T10:36:10.7445694Z             },
2026-06-13T10:36:10.7445794Z             {
2026-06-13T10:36:10.7445912Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T10:36:10.7446012Z               "line": 83
2026-06-13T10:36:10.7446255Z             },
2026-06-13T10:36:10.7446368Z             {
2026-06-13T10:36:10.7446508Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T10:36:10.7446617Z               "line": 140
2026-06-13T10:36:10.7446737Z             },
2026-06-13T10:36:10.7446823Z             {
2026-06-13T10:36:10.7446955Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T10:36:10.7447047Z               "line": 159
2026-06-13T10:36:10.7447147Z             },
2026-06-13T10:36:10.7447246Z             {
2026-06-13T10:36:10.7447371Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T10:36:10.7447561Z               "line": 384
2026-06-13T10:36:10.7447642Z             },
2026-06-13T10:36:10.7447730Z             {
2026-06-13T10:36:10.7447847Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T10:36:10.7447938Z               "line": 526
2026-06-13T10:36:10.7448025Z             },
2026-06-13T10:36:10.7448110Z             {
2026-06-13T10:36:10.7448234Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T10:36:10.7448325Z               "line": 572
2026-06-13T10:36:10.7448411Z             },
2026-06-13T10:36:10.7448495Z             {
2026-06-13T10:36:10.7448614Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T10:36:10.7448710Z               "line": 145
2026-06-13T10:36:10.7448798Z             },
2026-06-13T10:36:10.7448883Z             {
2026-06-13T10:36:10.7449075Z               "path": "crates/spt/src/main.rs",
2026-06-13T10:36:10.7449170Z               "line": 39
2026-06-13T10:36:10.7449255Z             }
2026-06-13T10:36:10.7449347Z           ]
2026-06-13T10:36:10.7449447Z         },
2026-06-13T10:36:10.7449532Z         "int": {
2026-06-13T10:36:10.7449633Z           "complete": false,
2026-06-13T10:36:10.7449723Z           "evidence": []
2026-06-13T10:36:10.7449813Z         },
2026-06-13T10:36:10.7449899Z         "unit": {
2026-06-13T10:36:10.7450000Z           "complete": true,
2026-06-13T10:36:10.7450085Z           "evidence": [
2026-06-13T10:36:10.7450171Z             {
2026-06-13T10:36:10.7450291Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T10:36:10.7450376Z               "line": 785
2026-06-13T10:36:10.7450467Z             },
2026-06-13T10:36:10.7450548Z             {
2026-06-13T10:36:10.7450668Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T10:36:10.7450766Z               "line": 826
2026-06-13T10:36:10.7450843Z             },
2026-06-13T10:36:10.7450926Z             {
2026-06-13T10:36:10.7451048Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T10:36:10.7451152Z               "line": 900
2026-06-13T10:36:10.7451243Z             }
2026-06-13T10:36:10.7451333Z           ]
2026-06-13T10:36:10.7451412Z         }
2026-06-13T10:36:10.7451493Z       }
2026-06-13T10:36:10.7451574Z     },
2026-06-13T10:36:10.7451656Z     {
2026-06-13T10:36:10.7451779Z       "id": "REQ-HAZARD-ENVELOPE-CR-LINESAFE",
2026-06-13T10:36:10.7453521Z       "title": "Envelope CR-linesafety (4.1): the line-framed EVENT codec must neutralize raw carriage returns — `event_body_escape` folds CRLF/lone-CR to the codec's representable linebreak (`\\n`→`<br>`) BEFORE framing, so a body carrying `\\r` (Windows `echo`/CRLF text crossing nodes) cannot survive into the single-line envelope and trigger a receiver terminal CR→col0 overwrite that corrupts the frame. Robustness on unrepresentable input, NOT a wire-format change (decoder untouched, amp-last invariant held). Belt-and-suspenders: `spt send`/`ring` also trim stdin (parity with `notify`).",
2026-06-13T10:36:10.7453624Z       "requiredStages": [
2026-06-13T10:36:10.7453735Z         "impl",
2026-06-13T10:36:10.7453816Z         "unit"
2026-06-13T10:36:10.7453906Z       ],
2026-06-13T10:36:10.7454010Z       "stages": {
2026-06-13T10:36:10.7454091Z         "doc": {
2026-06-13T10:36:10.7454191Z           "complete": false,
2026-06-13T10:36:10.7454277Z           "evidence": []
2026-06-13T10:36:10.7454367Z         },
2026-06-13T10:36:10.7454578Z         "impl": {
2026-06-13T10:36:10.7454677Z           "complete": true,
2026-06-13T10:36:10.7454759Z           "evidence": [
2026-06-13T10:36:10.7454844Z             {
2026-06-13T10:36:10.7454972Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T10:36:10.7455054Z               "line": 31
2026-06-13T10:36:10.7455145Z             }
2026-06-13T10:36:10.7455231Z           ]
2026-06-13T10:36:10.7455321Z         },
2026-06-13T10:36:10.7455412Z         "int": {
2026-06-13T10:36:10.7455502Z           "complete": false,
2026-06-13T10:36:10.7455597Z           "evidence": []
2026-06-13T10:36:10.7455679Z         },
2026-06-13T10:36:10.7455874Z         "unit": {
2026-06-13T10:36:10.7455955Z           "complete": true,
2026-06-13T10:36:10.7456042Z           "evidence": [
2026-06-13T10:36:10.7456123Z             {
2026-06-13T10:36:10.7456236Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T10:36:10.7456340Z               "line": 181
2026-06-13T10:36:10.7456422Z             }
2026-06-13T10:36:10.7456510Z           ]
2026-06-13T10:36:10.7456595Z         }
2026-06-13T10:36:10.7456686Z       }
2026-06-13T10:36:10.7456773Z     },
2026-06-13T10:36:10.7456853Z     {
2026-06-13T10:36:10.7456982Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-13T10:36:10.7457130Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-13T10:36:10.7457225Z       "requiredStages": [
2026-06-13T10:36:10.7457306Z         "impl",
2026-06-13T10:36:10.7457397Z         "unit"
2026-06-13T10:36:10.7457487Z       ],
2026-06-13T10:36:10.7457572Z       "stages": {
2026-06-13T10:36:10.7457665Z         "doc": {
2026-06-13T10:36:10.7457769Z           "complete": false,
2026-06-13T10:36:10.7457864Z           "evidence": []
2026-06-13T10:36:10.7457945Z         },
2026-06-13T10:36:10.7458031Z         "impl": {
2026-06-13T10:36:10.7458131Z           "complete": true,
2026-06-13T10:36:10.7458216Z           "evidence": [
2026-06-13T10:36:10.7458304Z             {
2026-06-13T10:36:10.7458421Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T10:36:10.7458522Z               "line": 49
2026-06-13T10:36:10.7458604Z             },
2026-06-13T10:36:10.7458689Z             {
2026-06-13T10:36:10.7458813Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T10:36:10.7458895Z               "line": 81
2026-06-13T10:36:10.7459089Z             }
2026-06-13T10:36:10.7459164Z           ]
2026-06-13T10:36:10.7459251Z         },
2026-06-13T10:36:10.7459330Z         "int": {
2026-06-13T10:36:10.7459420Z           "complete": false,
2026-06-13T10:36:10.7459515Z           "evidence": []
2026-06-13T10:36:10.7459597Z         },
2026-06-13T10:36:10.7459683Z         "unit": {
2026-06-13T10:36:10.7459768Z           "complete": true,
2026-06-13T10:36:10.7459854Z           "evidence": [
2026-06-13T10:36:10.7459935Z             {
2026-06-13T10:36:10.7460044Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T10:36:10.7460139Z               "line": 156
2026-06-13T10:36:10.7460222Z             },
2026-06-13T10:36:10.7460307Z             {
2026-06-13T10:36:10.7460416Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T10:36:10.7460512Z               "line": 173
2026-06-13T10:36:10.7460598Z             },
2026-06-13T10:36:10.7460693Z             {
2026-06-13T10:36:10.7460808Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T10:36:10.7460903Z               "line": 196
2026-06-13T10:36:10.7460984Z             }
2026-06-13T10:36:10.7461065Z           ]
2026-06-13T10:36:10.7461152Z         }
2026-06-13T10:36:10.7461237Z       }
2026-06-13T10:36:10.7461322Z     },
2026-06-13T10:36:10.7461413Z     {
2026-06-13T10:36:10.7461538Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-13T10:36:10.7461721Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-13T10:36:10.7461808Z       "requiredStages": [
2026-06-13T10:36:10.7461902Z         "impl",
2026-06-13T10:36:10.7461987Z         "unit"
2026-06-13T10:36:10.7462072Z       ],
2026-06-13T10:36:10.7462259Z       "stages": {
2026-06-13T10:36:10.7462343Z         "doc": {
2026-06-13T10:36:10.7462450Z           "complete": false,
2026-06-13T10:36:10.7462535Z           "evidence": []
2026-06-13T10:36:10.7462616Z         },
2026-06-13T10:36:10.7462702Z         "impl": {
2026-06-13T10:36:10.7462793Z           "complete": true,
2026-06-13T10:36:10.7462893Z           "evidence": [
2026-06-13T10:36:10.7462978Z             {
2026-06-13T10:36:10.7463122Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T10:36:10.7463212Z               "line": 120
2026-06-13T10:36:10.7463302Z             }
2026-06-13T10:36:10.7463484Z           ]
2026-06-13T10:36:10.7463575Z         },
2026-06-13T10:36:10.7463675Z         "int": {
2026-06-13T10:36:10.7463761Z           "complete": false,
2026-06-13T10:36:10.7463860Z           "evidence": []
2026-06-13T10:36:10.7463941Z         },
2026-06-13T10:36:10.7464029Z         "unit": {
2026-06-13T10:36:10.7464119Z           "complete": true,
2026-06-13T10:36:10.7464223Z           "evidence": [
2026-06-13T10:36:10.7464305Z             {
2026-06-13T10:36:10.7464420Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T10:36:10.7464518Z               "line": 212
2026-06-13T10:36:10.7464603Z             },
2026-06-13T10:36:10.7464689Z             {
2026-06-13T10:36:10.7464805Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T10:36:10.7464898Z               "line": 221
2026-06-13T10:36:10.7464990Z             },
2026-06-13T10:36:10.7465071Z             {
2026-06-13T10:36:10.7465189Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T10:36:10.7465285Z               "line": 229
2026-06-13T10:36:10.7465382Z             },
2026-06-13T10:36:10.7465467Z             {
2026-06-13T10:36:10.7465585Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T10:36:10.7465682Z               "line": 239
2026-06-13T10:36:10.7465766Z             },
2026-06-13T10:36:10.7465852Z             {
2026-06-13T10:36:10.7465972Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T10:36:10.7466067Z               "line": 249
2026-06-13T10:36:10.7466157Z             }
2026-06-13T10:36:10.7466239Z           ]
2026-06-13T10:36:10.7466326Z         }
2026-06-13T10:36:10.7466405Z       }
2026-06-13T10:36:10.7466496Z     },
2026-06-13T10:36:10.7466578Z     {
2026-06-13T10:36:10.7466697Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-13T10:36:10.7466862Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-13T10:36:10.7466958Z       "requiredStages": [
2026-06-13T10:36:10.7467047Z         "impl",
2026-06-13T10:36:10.7467137Z         "unit"
2026-06-13T10:36:10.7467223Z       ],
2026-06-13T10:36:10.7467314Z       "stages": {
2026-06-13T10:36:10.7467399Z         "doc": {
2026-06-13T10:36:10.7467498Z           "complete": false,
2026-06-13T10:36:10.7467590Z           "evidence": []
2026-06-13T10:36:10.7467676Z         },
2026-06-13T10:36:10.7467766Z         "impl": {
2026-06-13T10:36:10.7467866Z           "complete": true,
2026-06-13T10:36:10.7467957Z           "evidence": [
2026-06-13T10:36:10.7468042Z             {
2026-06-13T10:36:10.7468162Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-13T10:36:10.7468249Z               "line": 14
2026-06-13T10:36:10.7468344Z             },
2026-06-13T10:36:10.7468424Z             {
2026-06-13T10:36:10.7468539Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-13T10:36:10.7468629Z               "line": 62
2026-06-13T10:36:10.7468719Z             }
2026-06-13T10:36:10.7468811Z           ]
2026-06-13T10:36:10.7468892Z         },
2026-06-13T10:36:10.7469072Z         "int": {
2026-06-13T10:36:10.7469164Z           "complete": false,
2026-06-13T10:36:10.7469268Z           "evidence": []
2026-06-13T10:36:10.7469349Z         },
2026-06-13T10:36:10.7469446Z         "unit": {
2026-06-13T10:36:10.7469545Z           "complete": true,
2026-06-13T10:36:10.7469635Z           "evidence": [
2026-06-13T10:36:10.7469729Z             {
2026-06-13T10:36:10.7469946Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-13T10:36:10.7470041Z               "line": 160
2026-06-13T10:36:10.7470133Z             },
2026-06-13T10:36:10.7470224Z             {
2026-06-13T10:36:10.7470342Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-13T10:36:10.7470433Z               "line": 197
2026-06-13T10:36:10.7470519Z             },
2026-06-13T10:36:10.7470600Z             {
2026-06-13T10:36:10.7470714Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-13T10:36:10.7470796Z               "line": 219
2026-06-13T10:36:10.7470886Z             }
2026-06-13T10:36:10.7471087Z           ]
2026-06-13T10:36:10.7471172Z         }
2026-06-13T10:36:10.7471262Z       }
2026-06-13T10:36:10.7471343Z     },
2026-06-13T10:36:10.7471435Z     {
2026-06-13T10:36:10.7471539Z       "id": "REQ-HAZARD-EPOCH-RESET",
2026-06-13T10:36:10.7472913Z       "title": "Advertisement-epoch reset strands a node: peers' higher last-seen epoch drops the reset node's fresh advertisements as Stale until the counter outruns history. Common case (full reinstall/re-pair) is mitigated by REQ-SUBNET-7's ceremony eviction (peer-side epoch memory dies with the deleted row — acceptance-verified); the residual narrow slice (epoch file lost, identity kept) is documented, guard deferred to a field hit (4.11)",
2026-06-13T10:36:10.7473034Z       "requiredStages": [],
2026-06-13T10:36:10.7473119Z       "stages": {
2026-06-13T10:36:10.7473209Z         "doc": {
2026-06-13T10:36:10.7473300Z           "complete": true,
2026-06-13T10:36:10.7473396Z           "evidence": [
2026-06-13T10:36:10.7473482Z             {
2026-06-13T10:36:10.7473591Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T10:36:10.7473692Z               "line": 165
2026-06-13T10:36:10.7473777Z             }
2026-06-13T10:36:10.7473862Z           ]
2026-06-13T10:36:10.7473939Z         },
2026-06-13T10:36:10.7474025Z         "impl": {
2026-06-13T10:36:10.7474120Z           "complete": false,
2026-06-13T10:36:10.7474206Z           "evidence": []
2026-06-13T10:36:10.7474298Z         },
2026-06-13T10:36:10.7474378Z         "int": {
2026-06-13T10:36:10.7474483Z           "complete": false,
2026-06-13T10:36:10.7474564Z           "evidence": []
2026-06-13T10:36:10.7474651Z         },
2026-06-13T10:36:10.7474740Z         "unit": {
2026-06-13T10:36:10.7474835Z           "complete": false,
2026-06-13T10:36:10.7474932Z           "evidence": []
2026-06-13T10:36:10.7475003Z         }
2026-06-13T10:36:10.7475087Z       }
2026-06-13T10:36:10.7475168Z     },
2026-06-13T10:36:10.7475249Z     {
2026-06-13T10:36:10.7475379Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-13T10:36:10.7475593Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-13T10:36:10.7475694Z       "requiredStages": [
2026-06-13T10:36:10.7475778Z         "impl",
2026-06-13T10:36:10.7475870Z         "unit"
2026-06-13T10:36:10.7475956Z       ],
2026-06-13T10:36:10.7476069Z       "stages": {
2026-06-13T10:36:10.7476165Z         "doc": {
2026-06-13T10:36:10.7476265Z           "complete": false,
2026-06-13T10:36:10.7476361Z           "evidence": []
2026-06-13T10:36:10.7476446Z         },
2026-06-13T10:36:10.7476532Z         "impl": {
2026-06-13T10:36:10.7476627Z           "complete": true,
2026-06-13T10:36:10.7476727Z           "evidence": [
2026-06-13T10:36:10.7476819Z             {
2026-06-13T10:36:10.7476938Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-13T10:36:10.7477033Z               "line": 76
2026-06-13T10:36:10.7477114Z             },
2026-06-13T10:36:10.7477201Z             {
2026-06-13T10:36:10.7477318Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-13T10:36:10.7477422Z               "line": 167
2026-06-13T10:36:10.7477503Z             },
2026-06-13T10:36:10.7477588Z             {
2026-06-13T10:36:10.7477706Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-13T10:36:10.7477783Z               "line": 233
2026-06-13T10:36:10.7477874Z             },
2026-06-13T10:36:10.7477964Z             {
2026-06-13T10:36:10.7478165Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-13T10:36:10.7478251Z               "line": 272
2026-06-13T10:36:10.7478340Z             }
2026-06-13T10:36:10.7478422Z           ]
2026-06-13T10:36:10.7478512Z         },
2026-06-13T10:36:10.7478594Z         "int": {
2026-06-13T10:36:10.7478683Z           "complete": false,
2026-06-13T10:36:10.7478785Z           "evidence": []
2026-06-13T10:36:10.7478870Z         },
2026-06-13T10:36:10.7479031Z         "unit": {
2026-06-13T10:36:10.7479123Z           "complete": true,
2026-06-13T10:36:10.7479223Z           "evidence": [
2026-06-13T10:36:10.7479414Z             {
2026-06-13T10:36:10.7479532Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-13T10:36:10.7479618Z               "line": 321
2026-06-13T10:36:10.7479710Z             },
2026-06-13T10:36:10.7479795Z             {
2026-06-13T10:36:10.7479919Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-13T10:36:10.7480006Z               "line": 329
2026-06-13T10:36:10.7480106Z             },
2026-06-13T10:36:10.7480185Z             {
2026-06-13T10:36:10.7480298Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-13T10:36:10.7480390Z               "line": 356
2026-06-13T10:36:10.7480474Z             },
2026-06-13T10:36:10.7480564Z             {
2026-06-13T10:36:10.7480673Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-13T10:36:10.7480765Z               "line": 395
2026-06-13T10:36:10.7480840Z             },
2026-06-13T10:36:10.7480930Z             {
2026-06-13T10:36:10.7481046Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-13T10:36:10.7481141Z               "line": 406
2026-06-13T10:36:10.7481231Z             },
2026-06-13T10:36:10.7481313Z             {
2026-06-13T10:36:10.7481422Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-13T10:36:10.7481512Z               "line": 418
2026-06-13T10:36:10.7481599Z             },
2026-06-13T10:36:10.7481685Z             {
2026-06-13T10:36:10.7481794Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-13T10:36:10.7481880Z               "line": 442
2026-06-13T10:36:10.7481967Z             }
2026-06-13T10:36:10.7482047Z           ]
2026-06-13T10:36:10.7482137Z         }
2026-06-13T10:36:10.7482213Z       }
2026-06-13T10:36:10.7482301Z     },
2026-06-13T10:36:10.7482385Z     {
2026-06-13T10:36:10.7482500Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-13T10:36:10.7482644Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-13T10:36:10.7482747Z       "requiredStages": [
2026-06-13T10:36:10.7482837Z         "impl",
2026-06-13T10:36:10.7482918Z         "int"
2026-06-13T10:36:10.7483008Z       ],
2026-06-13T10:36:10.7483097Z       "stages": {
2026-06-13T10:36:10.7483178Z         "doc": {
2026-06-13T10:36:10.7483269Z           "complete": false,
2026-06-13T10:36:10.7483360Z           "evidence": []
2026-06-13T10:36:10.7483440Z         },
2026-06-13T10:36:10.7483526Z         "impl": {
2026-06-13T10:36:10.7483622Z           "complete": true,
2026-06-13T10:36:10.7483713Z           "evidence": [
2026-06-13T10:36:10.7483793Z             {
2026-06-13T10:36:10.7483904Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T10:36:10.7483989Z               "line": 22
2026-06-13T10:36:10.7484079Z             }
2026-06-13T10:36:10.7484161Z           ]
2026-06-13T10:36:10.7484247Z         },
2026-06-13T10:36:10.7484332Z         "int": {
2026-06-13T10:36:10.7484432Z           "complete": true,
2026-06-13T10:36:10.7484519Z           "evidence": [
2026-06-13T10:36:10.7484604Z             {
2026-06-13T10:36:10.7484733Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-13T10:36:10.7484834Z               "line": 18
2026-06-13T10:36:10.7484924Z             }
2026-06-13T10:36:10.7485009Z           ]
2026-06-13T10:36:10.7485100Z         },
2026-06-13T10:36:10.7485187Z         "unit": {
2026-06-13T10:36:10.7485285Z           "complete": false,
2026-06-13T10:36:10.7485377Z           "evidence": []
2026-06-13T10:36:10.7485662Z         }
2026-06-13T10:36:10.7485756Z       }
2026-06-13T10:36:10.7485838Z     },
2026-06-13T10:36:10.7485929Z     {
2026-06-13T10:36:10.7486052Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-13T10:36:10.7486249Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-13T10:36:10.7486343Z       "requiredStages": [
2026-06-13T10:36:10.7486440Z         "impl",
2026-06-13T10:36:10.7486525Z         "unit"
2026-06-13T10:36:10.7486611Z       ],
2026-06-13T10:36:10.7486706Z       "stages": {
2026-06-13T10:36:10.7486792Z         "doc": {
2026-06-13T10:36:10.7491415Z           "complete": false,
2026-06-13T10:36:10.7491701Z           "evidence": []
2026-06-13T10:36:10.7491829Z         },
2026-06-13T10:36:10.7491926Z         "impl": {
2026-06-13T10:36:10.7492026Z           "complete": true,
2026-06-13T10:36:10.7492130Z           "evidence": [
2026-06-13T10:36:10.7492217Z             {
2026-06-13T10:36:10.7492364Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7492463Z               "line": 415
2026-06-13T10:36:10.7492560Z             },
2026-06-13T10:36:10.7492654Z             {
2026-06-13T10:36:10.7492778Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-13T10:36:10.7492875Z               "line": 27
2026-06-13T10:36:10.7492959Z             }
2026-06-13T10:36:10.7493050Z           ]
2026-06-13T10:36:10.7493133Z         },
2026-06-13T10:36:10.7493227Z         "int": {
2026-06-13T10:36:10.7493326Z           "complete": false,
2026-06-13T10:36:10.7493416Z           "evidence": []
2026-06-13T10:36:10.7493507Z         },
2026-06-13T10:36:10.7493601Z         "unit": {
2026-06-13T10:36:10.7493695Z           "complete": true,
2026-06-13T10:36:10.7493786Z           "evidence": [
2026-06-13T10:36:10.7493877Z             {
2026-06-13T10:36:10.7494010Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7494101Z               "line": 940
2026-06-13T10:36:10.7494192Z             },
2026-06-13T10:36:10.7494282Z             {
2026-06-13T10:36:10.7494401Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-13T10:36:10.7494492Z               "line": 181
2026-06-13T10:36:10.7494582Z             }
2026-06-13T10:36:10.7494668Z           ]
2026-06-13T10:36:10.7494750Z         }
2026-06-13T10:36:10.7494840Z       }
2026-06-13T10:36:10.7494921Z     },
2026-06-13T10:36:10.7495011Z     {
2026-06-13T10:36:10.7495127Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-13T10:36:10.7495302Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-13T10:36:10.7495404Z       "requiredStages": [
2026-06-13T10:36:10.7495498Z         "impl",
2026-06-13T10:36:10.7495589Z         "unit"
2026-06-13T10:36:10.7495675Z       ],
2026-06-13T10:36:10.7495766Z       "stages": {
2026-06-13T10:36:10.7495850Z         "doc": {
2026-06-13T10:36:10.7495942Z           "complete": false,
2026-06-13T10:36:10.7496033Z           "evidence": []
2026-06-13T10:36:10.7496118Z         },
2026-06-13T10:36:10.7496217Z         "impl": {
2026-06-13T10:36:10.7496312Z           "complete": true,
2026-06-13T10:36:10.7496408Z           "evidence": [
2026-06-13T10:36:10.7496494Z             {
2026-06-13T10:36:10.7496622Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7496718Z               "line": 73
2026-06-13T10:36:10.7496804Z             },
2026-06-13T10:36:10.7496889Z             {
2026-06-13T10:36:10.7497009Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7497109Z               "line": 941
2026-06-13T10:36:10.7497199Z             },
2026-06-13T10:36:10.7497285Z             {
2026-06-13T10:36:10.7497409Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-13T10:36:10.7497500Z               "line": 20
2026-06-13T10:36:10.7497595Z             },
2026-06-13T10:36:10.7497677Z             {
2026-06-13T10:36:10.7497795Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-13T10:36:10.7497890Z               "line": 100
2026-06-13T10:36:10.7497973Z             },
2026-06-13T10:36:10.7498181Z             {
2026-06-13T10:36:10.7498297Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-13T10:36:10.7498396Z               "line": 443
2026-06-13T10:36:10.7498481Z             },
2026-06-13T10:36:10.7498571Z             {
2026-06-13T10:36:10.7498690Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-13T10:36:10.7498774Z               "line": 68
2026-06-13T10:36:10.7498869Z             },
2026-06-13T10:36:10.7499033Z             {
2026-06-13T10:36:10.7499160Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-13T10:36:10.7499242Z               "line": 80
2026-06-13T10:36:10.7499436Z             }
2026-06-13T10:36:10.7499527Z           ]
2026-06-13T10:36:10.7499614Z         },
2026-06-13T10:36:10.7499700Z         "int": {
2026-06-13T10:36:10.7499794Z           "complete": true,
2026-06-13T10:36:10.7499886Z           "evidence": [
2026-06-13T10:36:10.7499976Z             {
2026-06-13T10:36:10.7500089Z               "path": "crates/spt/tests/n1_pairing.rs",
2026-06-13T10:36:10.7500201Z               "line": 44
2026-06-13T10:36:10.7500281Z             }
2026-06-13T10:36:10.7500362Z           ]
2026-06-13T10:36:10.7500447Z         },
2026-06-13T10:36:10.7500534Z         "unit": {
2026-06-13T10:36:10.7500624Z           "complete": true,
2026-06-13T10:36:10.7500719Z           "evidence": [
2026-06-13T10:36:10.7500811Z             {
2026-06-13T10:36:10.7500916Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7501020Z               "line": 1141
2026-06-13T10:36:10.7501101Z             },
2026-06-13T10:36:10.7501202Z             {
2026-06-13T10:36:10.7501310Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.7501409Z               "line": 1157
2026-06-13T10:36:10.7501495Z             },
2026-06-13T10:36:10.7501571Z             {
2026-06-13T10:36:10.7501693Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T10:36:10.7501785Z               "line": 1069
2026-06-13T10:36:10.7501870Z             },
2026-06-13T10:36:10.7501956Z             {
2026-06-13T10:36:10.7502060Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-13T10:36:10.7502157Z               "line": 152
2026-06-13T10:36:10.7502243Z             },
2026-06-13T10:36:10.7502322Z             {
2026-06-13T10:36:10.7502433Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-13T10:36:10.7502523Z               "line": 175
2026-06-13T10:36:10.7502609Z             },
2026-06-13T10:36:10.7502699Z             {
2026-06-13T10:36:10.7502815Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-13T10:36:10.7502910Z               "line": 186
2026-06-13T10:36:10.7502990Z             },
2026-06-13T10:36:10.7503077Z             {
2026-06-13T10:36:10.7503190Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-13T10:36:10.7503276Z               "line": 202
2026-06-13T10:36:10.7503363Z             },
2026-06-13T10:36:10.7503445Z             {
2026-06-13T10:36:10.7503553Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-13T10:36:10.7503653Z               "line": 216
2026-06-13T10:36:10.7503731Z             },
2026-06-13T10:36:10.7503816Z             {
2026-06-13T10:36:10.7503934Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-13T10:36:10.7504015Z               "line": 137
2026-06-13T10:36:10.7504100Z             },
2026-06-13T10:36:10.7504184Z             {
2026-06-13T10:36:10.7504302Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7504385Z               "line": 5988
2026-06-13T10:36:10.7504471Z             },
2026-06-13T10:36:10.7504570Z             {
2026-06-13T10:36:10.7504670Z               "path": "crates/spt/tests/n1_compat.rs",
2026-06-13T10:36:10.7504771Z               "line": 30
2026-06-13T10:36:10.7504851Z             },
2026-06-13T10:36:10.7504942Z             {
2026-06-13T10:36:10.7505052Z               "path": "crates/spt/tests/n1_compat.rs",
2026-06-13T10:36:10.7505152Z               "line": 73
2026-06-13T10:36:10.7505523Z             }
2026-06-13T10:36:10.7505605Z           ]
2026-06-13T10:36:10.7505696Z         }
2026-06-13T10:36:10.7505777Z       }
2026-06-13T10:36:10.7505867Z     },
2026-06-13T10:36:10.7505949Z     {
2026-06-13T10:36:10.7506058Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-13T10:36:10.7506317Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-13T10:36:10.7506420Z       "requiredStages": [
2026-06-13T10:36:10.7506516Z         "impl",
2026-06-13T10:36:10.7506593Z         "unit"
2026-06-13T10:36:10.7506688Z       ],
2026-06-13T10:36:10.7506777Z       "stages": {
2026-06-13T10:36:10.7506963Z         "doc": {
2026-06-13T10:36:10.7507063Z           "complete": true,
2026-06-13T10:36:10.7507148Z           "evidence": [
2026-06-13T10:36:10.7507235Z             {
2026-06-13T10:36:10.7507340Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T10:36:10.7507430Z               "line": 133
2026-06-13T10:36:10.7507516Z             }
2026-06-13T10:36:10.7507612Z           ]
2026-06-13T10:36:10.7507698Z         },
2026-06-13T10:36:10.7507787Z         "impl": {
2026-06-13T10:36:10.7507889Z           "complete": true,
2026-06-13T10:36:10.7507969Z           "evidence": [
2026-06-13T10:36:10.7508060Z             {
2026-06-13T10:36:10.7508165Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-13T10:36:10.7508260Z               "line": 65
2026-06-13T10:36:10.7508350Z             },
2026-06-13T10:36:10.7508436Z             {
2026-06-13T10:36:10.7508556Z               "path": "crates/spt-proto/src/id.rs",
2026-06-13T10:36:10.7508637Z               "line": 17
2026-06-13T10:36:10.7508737Z             },
2026-06-13T10:36:10.7508818Z             {
2026-06-13T10:36:10.7509026Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T10:36:10.7509126Z               "line": 146
2026-06-13T10:36:10.7509217Z             },
2026-06-13T10:36:10.7509301Z             {
2026-06-13T10:36:10.7509415Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.7509520Z               "line": 233
2026-06-13T10:36:10.7509602Z             },
2026-06-13T10:36:10.7509691Z             {
2026-06-13T10:36:10.7509811Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.7509897Z               "line": 334
2026-06-13T10:36:10.7509978Z             },
2026-06-13T10:36:10.7510058Z             {
2026-06-13T10:36:10.7510174Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T10:36:10.7510269Z               "line": 32
2026-06-13T10:36:10.7510349Z             },
2026-06-13T10:36:10.7510427Z             {
2026-06-13T10:36:10.7510532Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7510627Z               "line": 4746
2026-06-13T10:36:10.7510712Z             },
2026-06-13T10:36:10.7510799Z             {
2026-06-13T10:36:10.7510898Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7510983Z               "line": 5028
2026-06-13T10:36:10.7511076Z             }
2026-06-13T10:36:10.7511161Z           ]
2026-06-13T10:36:10.7511241Z         },
2026-06-13T10:36:10.7511327Z         "int": {
2026-06-13T10:36:10.7511424Z           "complete": false,
2026-06-13T10:36:10.7511504Z           "evidence": []
2026-06-13T10:36:10.7511590Z         },
2026-06-13T10:36:10.7511681Z         "unit": {
2026-06-13T10:36:10.7511777Z           "complete": true,
2026-06-13T10:36:10.7511879Z           "evidence": [
2026-06-13T10:36:10.7511955Z             {
2026-06-13T10:36:10.7512070Z               "path": "crates/spt-proto/src/id.rs",
2026-06-13T10:36:10.7512159Z               "line": 94
2026-06-13T10:36:10.7512248Z             },
2026-06-13T10:36:10.7512349Z             {
2026-06-13T10:36:10.7512450Z               "path": "crates/spt-proto/src/id.rs",
2026-06-13T10:36:10.7512544Z               "line": 111
2026-06-13T10:36:10.7512634Z             },
2026-06-13T10:36:10.7512727Z             {
2026-06-13T10:36:10.7512831Z               "path": "crates/spt-proto/src/id.rs",
2026-06-13T10:36:10.7512916Z               "line": 124
2026-06-13T10:36:10.7513107Z             },
2026-06-13T10:36:10.7513188Z             {
2026-06-13T10:36:10.7513293Z               "path": "crates/spt-proto/src/id.rs",
2026-06-13T10:36:10.7513375Z               "line": 134
2026-06-13T10:36:10.7513460Z             },
2026-06-13T10:36:10.7513550Z             {
2026-06-13T10:36:10.7513690Z               "path": "crates/spt-proto/src/id.rs",
2026-06-13T10:36:10.7513788Z               "line": 144
2026-06-13T10:36:10.7513865Z             },
2026-06-13T10:36:10.7513952Z             {
2026-06-13T10:36:10.7514056Z               "path": "crates/spt-proto/src/id.rs",
2026-06-13T10:36:10.7514258Z               "line": 156
2026-06-13T10:36:10.7514339Z             },
2026-06-13T10:36:10.7514422Z             {
2026-06-13T10:36:10.7514550Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.7514632Z               "line": 746
2026-06-13T10:36:10.7514712Z             },
2026-06-13T10:36:10.7514797Z             {
2026-06-13T10:36:10.7514935Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T10:36:10.7515031Z               "line": 309
2026-06-13T10:36:10.7515111Z             }
2026-06-13T10:36:10.7515197Z           ]
2026-06-13T10:36:10.7515279Z         }
2026-06-13T10:36:10.7515374Z       }
2026-06-13T10:36:10.7515464Z     },
2026-06-13T10:36:10.7515555Z     {
2026-06-13T10:36:10.7515674Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-13T10:36:10.7515851Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-13T10:36:10.7515955Z       "requiredStages": [
2026-06-13T10:36:10.7516041Z         "impl",
2026-06-13T10:36:10.7516146Z         "unit"
2026-06-13T10:36:10.7516228Z       ],
2026-06-13T10:36:10.7516327Z       "stages": {
2026-06-13T10:36:10.7516413Z         "doc": {
2026-06-13T10:36:10.7516519Z           "complete": false,
2026-06-13T10:36:10.7516618Z           "evidence": []
2026-06-13T10:36:10.7516704Z         },
2026-06-13T10:36:10.7516800Z         "impl": {
2026-06-13T10:36:10.7516891Z           "complete": true,
2026-06-13T10:36:10.7516999Z           "evidence": [
2026-06-13T10:36:10.7517090Z             {
2026-06-13T10:36:10.7517210Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T10:36:10.7517308Z               "line": 128
2026-06-13T10:36:10.7517389Z             }
2026-06-13T10:36:10.7517480Z           ]
2026-06-13T10:36:10.7517567Z         },
2026-06-13T10:36:10.7517666Z         "int": {
2026-06-13T10:36:10.7517756Z           "complete": false,
2026-06-13T10:36:10.7517853Z           "evidence": []
2026-06-13T10:36:10.7517948Z         },
2026-06-13T10:36:10.7518033Z         "unit": {
2026-06-13T10:36:10.7518135Z           "complete": true,
2026-06-13T10:36:10.7518224Z           "evidence": [
2026-06-13T10:36:10.7518319Z             {
2026-06-13T10:36:10.7518429Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T10:36:10.7518525Z               "line": 205
2026-06-13T10:36:10.7518615Z             }
2026-06-13T10:36:10.7518695Z           ]
2026-06-13T10:36:10.7518783Z         }
2026-06-13T10:36:10.7518877Z       }
2026-06-13T10:36:10.7519045Z     },
2026-06-13T10:36:10.7519131Z     {
2026-06-13T10:36:10.7519263Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-13T10:36:10.7519431Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-13T10:36:10.7519525Z       "requiredStages": [
2026-06-13T10:36:10.7519620Z         "impl",
2026-06-13T10:36:10.7519706Z         "unit"
2026-06-13T10:36:10.7519791Z       ],
2026-06-13T10:36:10.7519880Z       "stages": {
2026-06-13T10:36:10.7519970Z         "doc": {
2026-06-13T10:36:10.7520071Z           "complete": false,
2026-06-13T10:36:10.7520167Z           "evidence": []
2026-06-13T10:36:10.7520256Z         },
2026-06-13T10:36:10.7520342Z         "impl": {
2026-06-13T10:36:10.7520443Z           "complete": true,
2026-06-13T10:36:10.7520533Z           "evidence": [
2026-06-13T10:36:10.7520633Z             {
2026-06-13T10:36:10.7520758Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T10:36:10.7520958Z               "line": 246
2026-06-13T10:36:10.7521054Z             },
2026-06-13T10:36:10.7521134Z             {
2026-06-13T10:36:10.7521248Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T10:36:10.7521335Z               "line": 257
2026-06-13T10:36:10.7521430Z             },
2026-06-13T10:36:10.7521525Z             {
2026-06-13T10:36:10.7521641Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T10:36:10.7521735Z               "line": 275
2026-06-13T10:36:10.7521826Z             }
2026-06-13T10:36:10.7521916Z           ]
2026-06-13T10:36:10.7522007Z         },
2026-06-13T10:36:10.7522192Z         "int": {
2026-06-13T10:36:10.7522294Z           "complete": false,
2026-06-13T10:36:10.7522384Z           "evidence": []
2026-06-13T10:36:10.7522477Z         },
2026-06-13T10:36:10.7522563Z         "unit": {
2026-06-13T10:36:10.7522668Z           "complete": true,
2026-06-13T10:36:10.7522757Z           "evidence": [
2026-06-13T10:36:10.7522856Z             {
2026-06-13T10:36:10.7522986Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T10:36:10.7523081Z               "line": 299
2026-06-13T10:36:10.7523176Z             },
2026-06-13T10:36:10.7523263Z             {
2026-06-13T10:36:10.7523382Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T10:36:10.7523481Z               "line": 320
2026-06-13T10:36:10.7523563Z             },
2026-06-13T10:36:10.7523658Z             {
2026-06-13T10:36:10.7523767Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T10:36:10.7523863Z               "line": 547
2026-06-13T10:36:10.7523959Z             },
2026-06-13T10:36:10.7524063Z             {
2026-06-13T10:36:10.7524178Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T10:36:10.7524274Z               "line": 558
2026-06-13T10:36:10.7524368Z             },
2026-06-13T10:36:10.7524454Z             {
2026-06-13T10:36:10.7524570Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T10:36:10.7524663Z               "line": 571
2026-06-13T10:36:10.7524774Z             }
2026-06-13T10:36:10.7524870Z           ]
2026-06-13T10:36:10.7524955Z         }
2026-06-13T10:36:10.7525049Z       }
2026-06-13T10:36:10.7525135Z     },
2026-06-13T10:36:10.7525221Z     {
2026-06-13T10:36:10.7525328Z       "id": "REQ-HAZARD-INSTANT-UNDERFLOW",
2026-06-13T10:36:10.7525962Z       "title": "Scheduling never subtracts a Duration from Instant::now() (underflow-panics on a host booted more recently than the offset); 'due now / never run' is Option<Instant>=None gated on forward duration_since only (5.9)",
2026-06-13T10:36:10.7526071Z       "requiredStages": [
2026-06-13T10:36:10.7526164Z         "impl",
2026-06-13T10:36:10.7526254Z         "unit"
2026-06-13T10:36:10.7526338Z       ],
2026-06-13T10:36:10.7526430Z       "stages": {
2026-06-13T10:36:10.7526520Z         "doc": {
2026-06-13T10:36:10.7526611Z           "complete": false,
2026-06-13T10:36:10.7526706Z           "evidence": []
2026-06-13T10:36:10.7526788Z         },
2026-06-13T10:36:10.7526877Z         "impl": {
2026-06-13T10:36:10.7526982Z           "complete": true,
2026-06-13T10:36:10.7527074Z           "evidence": [
2026-06-13T10:36:10.7527164Z             {
2026-06-13T10:36:10.7527292Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.7527389Z               "line": 759
2026-06-13T10:36:10.7527470Z             }
2026-06-13T10:36:10.7527559Z           ]
2026-06-13T10:36:10.7527646Z         },
2026-06-13T10:36:10.7527737Z         "int": {
2026-06-13T10:36:10.7527836Z           "complete": false,
2026-06-13T10:36:10.7527926Z           "evidence": []
2026-06-13T10:36:10.7528012Z         },
2026-06-13T10:36:10.7528103Z         "unit": {
2026-06-13T10:36:10.7528202Z           "complete": true,
2026-06-13T10:36:10.7528292Z           "evidence": [
2026-06-13T10:36:10.7528384Z             {
2026-06-13T10:36:10.7528508Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.7528598Z               "line": 873
2026-06-13T10:36:10.7528685Z             }
2026-06-13T10:36:10.7528855Z           ]
2026-06-13T10:36:10.7529033Z         }
2026-06-13T10:36:10.7529104Z       }
2026-06-13T10:36:10.7529184Z     },
2026-06-13T10:36:10.7529265Z     {
2026-06-13T10:36:10.7529380Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-13T10:36:10.7529595Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-13T10:36:10.7529677Z       "requiredStages": [
2026-06-13T10:36:10.7529771Z         "impl",
2026-06-13T10:36:10.7529857Z         "unit"
2026-06-13T10:36:10.7529943Z       ],
2026-06-13T10:36:10.7530034Z       "stages": {
2026-06-13T10:36:10.7530109Z         "doc": {
2026-06-13T10:36:10.7530304Z           "complete": false,
2026-06-13T10:36:10.7530398Z           "evidence": []
2026-06-13T10:36:10.7530487Z         },
2026-06-13T10:36:10.7530578Z         "impl": {
2026-06-13T10:36:10.7530675Z           "complete": true,
2026-06-13T10:36:10.7530774Z           "evidence": [
2026-06-13T10:36:10.7530854Z             {
2026-06-13T10:36:10.7530984Z               "path": "crates/spt/src/api/auth.rs",
2026-06-13T10:36:10.7531069Z               "line": 14
2026-06-13T10:36:10.7531159Z             },
2026-06-13T10:36:10.7531242Z             {
2026-06-13T10:36:10.7531365Z               "path": "crates/spt/src/api/mod.rs",
2026-06-13T10:36:10.7531460Z               "line": 440
2026-06-13T10:36:10.7531542Z             }
2026-06-13T10:36:10.7531628Z           ]
2026-06-13T10:36:10.7531709Z         },
2026-06-13T10:36:10.7531803Z         "int": {
2026-06-13T10:36:10.7531900Z           "complete": false,
2026-06-13T10:36:10.7531999Z           "evidence": []
2026-06-13T10:36:10.7532104Z         },
2026-06-13T10:36:10.7532186Z         "unit": {
2026-06-13T10:36:10.7532286Z           "complete": true,
2026-06-13T10:36:10.7532376Z           "evidence": [
2026-06-13T10:36:10.7532462Z             {
2026-06-13T10:36:10.7532572Z               "path": "crates/spt/src/api/auth.rs",
2026-06-13T10:36:10.7532676Z               "line": 130
2026-06-13T10:36:10.7532757Z             },
2026-06-13T10:36:10.7532845Z             {
2026-06-13T10:36:10.7532953Z               "path": "crates/spt/src/api/auth.rs",
2026-06-13T10:36:10.7533037Z               "line": 138
2026-06-13T10:36:10.7533133Z             },
2026-06-13T10:36:10.7533214Z             {
2026-06-13T10:36:10.7533331Z               "path": "crates/spt/src/api/auth.rs",
2026-06-13T10:36:10.7533426Z               "line": 146
2026-06-13T10:36:10.7533507Z             },
2026-06-13T10:36:10.7533604Z             {
2026-06-13T10:36:10.7533712Z               "path": "crates/spt/src/api/auth.rs",
2026-06-13T10:36:10.7533808Z               "line": 154
2026-06-13T10:36:10.7533908Z             },
2026-06-13T10:36:10.7534003Z             {
2026-06-13T10:36:10.7534114Z               "path": "crates/spt/src/api/auth.rs",
2026-06-13T10:36:10.7534199Z               "line": 162
2026-06-13T10:36:10.7534294Z             },
2026-06-13T10:36:10.7534365Z             {
2026-06-13T10:36:10.7534476Z               "path": "crates/spt/src/api/auth.rs",
2026-06-13T10:36:10.7534570Z               "line": 170
2026-06-13T10:36:10.7534656Z             }
2026-06-13T10:36:10.7534743Z           ]
2026-06-13T10:36:10.7534824Z         }
2026-06-13T10:36:10.7534908Z       }
2026-06-13T10:36:10.7534995Z     },
2026-06-13T10:36:10.7535077Z     {
2026-06-13T10:36:10.7535186Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-13T10:36:10.7536260Z       "title": "Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)",
2026-06-13T10:36:10.7536375Z       "requiredStages": [
2026-06-13T10:36:10.7536456Z         "impl",
2026-06-13T10:36:10.7536536Z         "unit"
2026-06-13T10:36:10.7536622Z       ],
2026-06-13T10:36:10.7536724Z       "stages": {
2026-06-13T10:36:10.7536809Z         "doc": {
2026-06-13T10:36:10.7536898Z           "complete": false,
2026-06-13T10:36:10.7537137Z           "evidence": []
2026-06-13T10:36:10.7537223Z         },
2026-06-13T10:36:10.7537314Z         "impl": {
2026-06-13T10:36:10.7537400Z           "complete": true,
2026-06-13T10:36:10.7537500Z           "evidence": [
2026-06-13T10:36:10.7537590Z             {
2026-06-13T10:36:10.7537734Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-13T10:36:10.7537824Z               "line": 34
2026-06-13T10:36:10.7537896Z             }
2026-06-13T10:36:10.7537992Z           ]
2026-06-13T10:36:10.7538081Z         },
2026-06-13T10:36:10.7538167Z         "int": {
2026-06-13T10:36:10.7538350Z           "complete": false,
2026-06-13T10:36:10.7538443Z           "evidence": []
2026-06-13T10:36:10.7538537Z         },
2026-06-13T10:36:10.7538615Z         "unit": {
2026-06-13T10:36:10.7538716Z           "complete": true,
2026-06-13T10:36:10.7538800Z           "evidence": [
2026-06-13T10:36:10.7538886Z             {
2026-06-13T10:36:10.7539124Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-13T10:36:10.7539220Z               "line": 188
2026-06-13T10:36:10.7539320Z             },
2026-06-13T10:36:10.7539401Z             {
2026-06-13T10:36:10.7539530Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-13T10:36:10.7539616Z               "line": 200
2026-06-13T10:36:10.7539711Z             },
2026-06-13T10:36:10.7539802Z             {
2026-06-13T10:36:10.7539931Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-13T10:36:10.7540021Z               "line": 211
2026-06-13T10:36:10.7540102Z             },
2026-06-13T10:36:10.7540208Z             {
2026-06-13T10:36:10.7540340Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-13T10:36:10.7540436Z               "line": 253
2026-06-13T10:36:10.7540533Z             },
2026-06-13T10:36:10.7540618Z             {
2026-06-13T10:36:10.7540759Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-13T10:36:10.7540845Z               "line": 277
2026-06-13T10:36:10.7540949Z             },
2026-06-13T10:36:10.7541024Z             {
2026-06-13T10:36:10.7541157Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-13T10:36:10.7541249Z               "line": 300
2026-06-13T10:36:10.7541334Z             },
2026-06-13T10:36:10.7541419Z             {
2026-06-13T10:36:10.7541549Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-13T10:36:10.7541653Z               "line": 316
2026-06-13T10:36:10.7541734Z             }
2026-06-13T10:36:10.7541821Z           ]
2026-06-13T10:36:10.7541921Z         }
2026-06-13T10:36:10.7542001Z       }
2026-06-13T10:36:10.7542092Z     },
2026-06-13T10:36:10.7542174Z     {
2026-06-13T10:36:10.7542302Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-13T10:36:10.7542836Z       "title": "Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)",
2026-06-13T10:36:10.7542955Z       "requiredStages": [
2026-06-13T10:36:10.7543051Z         "impl",
2026-06-13T10:36:10.7543132Z         "unit"
2026-06-13T10:36:10.7543222Z       ],
2026-06-13T10:36:10.7543308Z       "stages": {
2026-06-13T10:36:10.7543410Z         "doc": {
2026-06-13T10:36:10.7543513Z           "complete": false,
2026-06-13T10:36:10.7543607Z           "evidence": []
2026-06-13T10:36:10.7543698Z         },
2026-06-13T10:36:10.7543783Z         "impl": {
2026-06-13T10:36:10.7543882Z           "complete": true,
2026-06-13T10:36:10.7543972Z           "evidence": [
2026-06-13T10:36:10.7544068Z             {
2026-06-13T10:36:10.7544196Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T10:36:10.7544281Z               "line": 29
2026-06-13T10:36:10.7544364Z             },
2026-06-13T10:36:10.7544450Z             {
2026-06-13T10:36:10.7544572Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T10:36:10.7544659Z               "line": 174
2026-06-13T10:36:10.7544864Z             },
2026-06-13T10:36:10.7544945Z             {
2026-06-13T10:36:10.7545055Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T10:36:10.7545155Z               "line": 194
2026-06-13T10:36:10.7545245Z             },
2026-06-13T10:36:10.7545351Z             {
2026-06-13T10:36:10.7545469Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T10:36:10.7545565Z               "line": 222
2026-06-13T10:36:10.7545661Z             }
2026-06-13T10:36:10.7545746Z           ]
2026-06-13T10:36:10.7545832Z         },
2026-06-13T10:36:10.7545918Z         "int": {
2026-06-13T10:36:10.7546108Z           "complete": false,
2026-06-13T10:36:10.7546202Z           "evidence": []
2026-06-13T10:36:10.7546293Z         },
2026-06-13T10:36:10.7546388Z         "unit": {
2026-06-13T10:36:10.7546481Z           "complete": true,
2026-06-13T10:36:10.7546577Z           "evidence": [
2026-06-13T10:36:10.7546664Z             {
2026-06-13T10:36:10.7546782Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T10:36:10.7546877Z               "line": 329
2026-06-13T10:36:10.7546974Z             },
2026-06-13T10:36:10.7547064Z             {
2026-06-13T10:36:10.7547178Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T10:36:10.7547274Z               "line": 344
2026-06-13T10:36:10.7547354Z             },
2026-06-13T10:36:10.7547444Z             {
2026-06-13T10:36:10.7547555Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T10:36:10.7547655Z               "line": 417
2026-06-13T10:36:10.7547750Z             },
2026-06-13T10:36:10.7547831Z             {
2026-06-13T10:36:10.7547960Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T10:36:10.7548051Z               "line": 433
2026-06-13T10:36:10.7548150Z             },
2026-06-13T10:36:10.7548237Z             {
2026-06-13T10:36:10.7548360Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T10:36:10.7548451Z               "line": 492
2026-06-13T10:36:10.7548543Z             },
2026-06-13T10:36:10.7548632Z             {
2026-06-13T10:36:10.7548742Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T10:36:10.7548838Z               "line": 506
2026-06-13T10:36:10.7548919Z             },
2026-06-13T10:36:10.7549088Z             {
2026-06-13T10:36:10.7549209Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T10:36:10.7549304Z               "line": 517
2026-06-13T10:36:10.7549394Z             },
2026-06-13T10:36:10.7549480Z             {
2026-06-13T10:36:10.7549600Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T10:36:10.7549699Z               "line": 528
2026-06-13T10:36:10.7549795Z             }
2026-06-13T10:36:10.7549880Z           ]
2026-06-13T10:36:10.7549966Z         }
2026-06-13T10:36:10.7550052Z       }
2026-06-13T10:36:10.7550139Z     },
2026-06-13T10:36:10.7550233Z     {
2026-06-13T10:36:10.7550357Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-13T10:36:10.7551039Z       "title": "Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)",
2026-06-13T10:36:10.7551149Z       "requiredStages": [
2026-06-13T10:36:10.7551234Z         "impl",
2026-06-13T10:36:10.7551333Z         "unit"
2026-06-13T10:36:10.7551415Z       ],
2026-06-13T10:36:10.7551509Z       "stages": {
2026-06-13T10:36:10.7551603Z         "doc": {
2026-06-13T10:36:10.7551694Z           "complete": false,
2026-06-13T10:36:10.7551785Z           "evidence": []
2026-06-13T10:36:10.7551870Z         },
2026-06-13T10:36:10.7551979Z         "impl": {
2026-06-13T10:36:10.7552071Z           "complete": true,
2026-06-13T10:36:10.7552161Z           "evidence": [
2026-06-13T10:36:10.7552256Z             {
2026-06-13T10:36:10.7552391Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T10:36:10.7552486Z               "line": 27
2026-06-13T10:36:10.7552576Z             },
2026-06-13T10:36:10.7552776Z             {
2026-06-13T10:36:10.7552909Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T10:36:10.7553011Z               "line": 110
2026-06-13T10:36:10.7553100Z             },
2026-06-13T10:36:10.7553181Z             {
2026-06-13T10:36:10.7553311Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T10:36:10.7553392Z               "line": 153
2026-06-13T10:36:10.7553486Z             },
2026-06-13T10:36:10.7553563Z             {
2026-06-13T10:36:10.7553688Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T10:36:10.7553782Z               "line": 182
2026-06-13T10:36:10.7554022Z             },
2026-06-13T10:36:10.7554106Z             {
2026-06-13T10:36:10.7554253Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-13T10:36:10.7554343Z               "line": 31
2026-06-13T10:36:10.7554427Z             },
2026-06-13T10:36:10.7554508Z             {
2026-06-13T10:36:10.7554647Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-13T10:36:10.7554738Z               "line": 113
2026-06-13T10:36:10.7554818Z             },
2026-06-13T10:36:10.7554904Z             {
2026-06-13T10:36:10.7555043Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-13T10:36:10.7555137Z               "line": 138
2026-06-13T10:36:10.7555209Z             }
2026-06-13T10:36:10.7555296Z           ]
2026-06-13T10:36:10.7555377Z         },
2026-06-13T10:36:10.7555462Z         "int": {
2026-06-13T10:36:10.7555548Z           "complete": false,
2026-06-13T10:36:10.7555648Z           "evidence": []
2026-06-13T10:36:10.7555748Z         },
2026-06-13T10:36:10.7555820Z         "unit": {
2026-06-13T10:36:10.7555921Z           "complete": true,
2026-06-13T10:36:10.7556015Z           "evidence": [
2026-06-13T10:36:10.7556105Z             {
2026-06-13T10:36:10.7556226Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T10:36:10.7556320Z               "line": 261
2026-06-13T10:36:10.7556416Z             },
2026-06-13T10:36:10.7556498Z             {
2026-06-13T10:36:10.7556631Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T10:36:10.7556720Z               "line": 276
2026-06-13T10:36:10.7556815Z             },
2026-06-13T10:36:10.7556901Z             {
2026-06-13T10:36:10.7557032Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T10:36:10.7557127Z               "line": 293
2026-06-13T10:36:10.7557209Z             },
2026-06-13T10:36:10.7557300Z             {
2026-06-13T10:36:10.7557418Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T10:36:10.7557524Z               "line": 310
2026-06-13T10:36:10.7557610Z             },
2026-06-13T10:36:10.7557694Z             {
2026-06-13T10:36:10.7557820Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T10:36:10.7557909Z               "line": 327
2026-06-13T10:36:10.7557990Z             },
2026-06-13T10:36:10.7558076Z             {
2026-06-13T10:36:10.7558215Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T10:36:10.7558305Z               "line": 366
2026-06-13T10:36:10.7558386Z             },
2026-06-13T10:36:10.7558497Z             {
2026-06-13T10:36:10.7558658Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-13T10:36:10.7558759Z               "line": 179
2026-06-13T10:36:10.7563247Z             },
2026-06-13T10:36:10.7563379Z             {
2026-06-13T10:36:10.7563542Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-13T10:36:10.7563646Z               "line": 194
2026-06-13T10:36:10.7563756Z             },
2026-06-13T10:36:10.7563837Z             {
2026-06-13T10:36:10.7563984Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-13T10:36:10.7564080Z               "line": 204
2026-06-13T10:36:10.7564167Z             },
2026-06-13T10:36:10.7564253Z             {
2026-06-13T10:36:10.7564395Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-13T10:36:10.7564647Z               "line": 259
2026-06-13T10:36:10.7564732Z             },
2026-06-13T10:36:10.7564813Z             {
2026-06-13T10:36:10.7564945Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-13T10:36:10.7565035Z               "line": 269
2026-06-13T10:36:10.7565121Z             },
2026-06-13T10:36:10.7565202Z             {
2026-06-13T10:36:10.7565336Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-13T10:36:10.7565416Z               "line": 283
2026-06-13T10:36:10.7565498Z             }
2026-06-13T10:36:10.7565688Z           ]
2026-06-13T10:36:10.7565779Z         }
2026-06-13T10:36:10.7565865Z       }
2026-06-13T10:36:10.7565946Z     },
2026-06-13T10:36:10.7566026Z     {
2026-06-13T10:36:10.7566138Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-13T10:36:10.7566351Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-13T10:36:10.7566457Z       "requiredStages": [],
2026-06-13T10:36:10.7566561Z       "stages": {
2026-06-13T10:36:10.7566652Z         "doc": {
2026-06-13T10:36:10.7566743Z           "complete": false,
2026-06-13T10:36:10.7566843Z           "evidence": []
2026-06-13T10:36:10.7566927Z         },
2026-06-13T10:36:10.7567024Z         "impl": {
2026-06-13T10:36:10.7567110Z           "complete": false,
2026-06-13T10:36:10.7567209Z           "evidence": []
2026-06-13T10:36:10.7567304Z         },
2026-06-13T10:36:10.7567380Z         "int": {
2026-06-13T10:36:10.7567475Z           "complete": false,
2026-06-13T10:36:10.7567559Z           "evidence": []
2026-06-13T10:36:10.7567659Z         },
2026-06-13T10:36:10.7567745Z         "unit": {
2026-06-13T10:36:10.7567851Z           "complete": false,
2026-06-13T10:36:10.7567944Z           "evidence": []
2026-06-13T10:36:10.7568026Z         }
2026-06-13T10:36:10.7568122Z       }
2026-06-13T10:36:10.7568203Z     },
2026-06-13T10:36:10.7568288Z     {
2026-06-13T10:36:10.7568422Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-13T10:36:10.7569423Z       "title": "Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)",
2026-06-13T10:36:10.7569533Z       "requiredStages": [
2026-06-13T10:36:10.7569615Z         "impl",
2026-06-13T10:36:10.7569701Z         "unit"
2026-06-13T10:36:10.7569785Z       ],
2026-06-13T10:36:10.7569876Z       "stages": {
2026-06-13T10:36:10.7569963Z         "doc": {
2026-06-13T10:36:10.7570058Z           "complete": false,
2026-06-13T10:36:10.7570166Z           "evidence": []
2026-06-13T10:36:10.7570247Z         },
2026-06-13T10:36:10.7570348Z         "impl": {
2026-06-13T10:36:10.7570438Z           "complete": true,
2026-06-13T10:36:10.7570538Z           "evidence": [
2026-06-13T10:36:10.7570614Z             {
2026-06-13T10:36:10.7570744Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T10:36:10.7570857Z               "line": 26
2026-06-13T10:36:10.7570930Z             },
2026-06-13T10:36:10.7571015Z             {
2026-06-13T10:36:10.7571143Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T10:36:10.7571230Z               "line": 95
2026-06-13T10:36:10.7571321Z             },
2026-06-13T10:36:10.7571392Z             {
2026-06-13T10:36:10.7571515Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T10:36:10.7571598Z               "line": 166
2026-06-13T10:36:10.7571692Z             },
2026-06-13T10:36:10.7571777Z             {
2026-06-13T10:36:10.7571908Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-13T10:36:10.7572001Z               "line": 19
2026-06-13T10:36:10.7572082Z             },
2026-06-13T10:36:10.7572164Z             {
2026-06-13T10:36:10.7572284Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-13T10:36:10.7572368Z               "line": 50
2026-06-13T10:36:10.7572449Z             },
2026-06-13T10:36:10.7572738Z             {
2026-06-13T10:36:10.7572862Z               "path": "crates/spt-live/src/turn.rs",
2026-06-13T10:36:10.7572944Z               "line": 18
2026-06-13T10:36:10.7573028Z             },
2026-06-13T10:36:10.7573114Z             {
2026-06-13T10:36:10.7573239Z               "path": "crates/spt-live/src/turn.rs",
2026-06-13T10:36:10.7573329Z               "line": 71
2026-06-13T10:36:10.7573419Z             },
2026-06-13T10:36:10.7573506Z             {
2026-06-13T10:36:10.7573625Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.7573715Z               "line": 79
2026-06-13T10:36:10.7573920Z             }
2026-06-13T10:36:10.7574005Z           ]
2026-06-13T10:36:10.7574092Z         },
2026-06-13T10:36:10.7574174Z         "int": {
2026-06-13T10:36:10.7574273Z           "complete": false,
2026-06-13T10:36:10.7574364Z           "evidence": []
2026-06-13T10:36:10.7574451Z         },
2026-06-13T10:36:10.7574535Z         "unit": {
2026-06-13T10:36:10.7574635Z           "complete": true,
2026-06-13T10:36:10.7574736Z           "evidence": [
2026-06-13T10:36:10.7574813Z             {
2026-06-13T10:36:10.7574931Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T10:36:10.7575017Z               "line": 289
2026-06-13T10:36:10.7575104Z             },
2026-06-13T10:36:10.7575184Z             {
2026-06-13T10:36:10.7575306Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T10:36:10.7575397Z               "line": 308
2026-06-13T10:36:10.7575473Z             },
2026-06-13T10:36:10.7575562Z             {
2026-06-13T10:36:10.7575676Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T10:36:10.7575772Z               "line": 336
2026-06-13T10:36:10.7575858Z             },
2026-06-13T10:36:10.7575938Z             {
2026-06-13T10:36:10.7576059Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T10:36:10.7576144Z               "line": 399
2026-06-13T10:36:10.7576224Z             },
2026-06-13T10:36:10.7576310Z             {
2026-06-13T10:36:10.7576435Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T10:36:10.7576516Z               "line": 410
2026-06-13T10:36:10.7576601Z             },
2026-06-13T10:36:10.7576683Z             {
2026-06-13T10:36:10.7576802Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T10:36:10.7576902Z               "line": 441
2026-06-13T10:36:10.7576978Z             },
2026-06-13T10:36:10.7577069Z             {
2026-06-13T10:36:10.7577183Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T10:36:10.7577269Z               "line": 452
2026-06-13T10:36:10.7577365Z             },
2026-06-13T10:36:10.7577440Z             {
2026-06-13T10:36:10.7577555Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-13T10:36:10.7577642Z               "line": 77
2026-06-13T10:36:10.7577732Z             },
2026-06-13T10:36:10.7577817Z             {
2026-06-13T10:36:10.7577935Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-13T10:36:10.7578026Z               "line": 97
2026-06-13T10:36:10.7578100Z             },
2026-06-13T10:36:10.7578190Z             {
2026-06-13T10:36:10.7578301Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-13T10:36:10.7578387Z               "line": 112
2026-06-13T10:36:10.7578463Z             },
2026-06-13T10:36:10.7578553Z             {
2026-06-13T10:36:10.7578668Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-13T10:36:10.7578758Z               "line": 123
2026-06-13T10:36:10.7578853Z             },
2026-06-13T10:36:10.7578921Z             {
2026-06-13T10:36:10.7579134Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-13T10:36:10.7579241Z               "line": 130
2026-06-13T10:36:10.7579331Z             },
2026-06-13T10:36:10.7579421Z             {
2026-06-13T10:36:10.7579535Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-13T10:36:10.7579636Z               "line": 145
2026-06-13T10:36:10.7579721Z             },
2026-06-13T10:36:10.7579908Z             {
2026-06-13T10:36:10.7580012Z               "path": "crates/spt-live/src/turn.rs",
2026-06-13T10:36:10.7580107Z               "line": 115
2026-06-13T10:36:10.7580190Z             },
2026-06-13T10:36:10.7580270Z             {
2026-06-13T10:36:10.7580389Z               "path": "crates/spt-live/src/turn.rs",
2026-06-13T10:36:10.7580475Z               "line": 130
2026-06-13T10:36:10.7580566Z             },
2026-06-13T10:36:10.7580646Z             {
2026-06-13T10:36:10.7580792Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.7580917Z               "line": 420
2026-06-13T10:36:10.7581093Z             }
2026-06-13T10:36:10.7581184Z           ]
2026-06-13T10:36:10.7581270Z         }
2026-06-13T10:36:10.7581360Z       }
2026-06-13T10:36:10.7581441Z     },
2026-06-13T10:36:10.7581533Z     {
2026-06-13T10:36:10.7581652Z       "id": "REQ-HAZARD-PUMP-IPC-DEADLINE",
2026-06-13T10:36:10.7582477Z       "title": "The single-threaded peer pump's brain-IPC reads are deadline-bounded (PUMP_PEER_IO_TIMEOUT, total-wait per call); a TimedOut read POISONS the client and escalates to a SUPERVISED RESTART, never a per-peer retry — a black-holed peer must never wedge the whole pump",
2026-06-13T10:36:10.7582595Z       "requiredStages": [
2026-06-13T10:36:10.7582676Z         "doc",
2026-06-13T10:36:10.7582768Z         "impl",
2026-06-13T10:36:10.7582854Z         "unit"
2026-06-13T10:36:10.7582938Z       ],
2026-06-13T10:36:10.7583027Z       "stages": {
2026-06-13T10:36:10.7583114Z         "doc": {
2026-06-13T10:36:10.7583212Z           "complete": true,
2026-06-13T10:36:10.7583303Z           "evidence": [
2026-06-13T10:36:10.7583402Z             {
2026-06-13T10:36:10.7583518Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T10:36:10.7583612Z               "line": 360
2026-06-13T10:36:10.7583703Z             }
2026-06-13T10:36:10.7583784Z           ]
2026-06-13T10:36:10.7583875Z         },
2026-06-13T10:36:10.7583955Z         "impl": {
2026-06-13T10:36:10.7584052Z           "complete": true,
2026-06-13T10:36:10.7584156Z           "evidence": [
2026-06-13T10:36:10.7584241Z             {
2026-06-13T10:36:10.7584376Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T10:36:10.7584466Z               "line": 180
2026-06-13T10:36:10.7584556Z             },
2026-06-13T10:36:10.7584642Z             {
2026-06-13T10:36:10.7584762Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T10:36:10.7584852Z               "line": 284
2026-06-13T10:36:10.7584938Z             },
2026-06-13T10:36:10.7585035Z             {
2026-06-13T10:36:10.7585142Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T10:36:10.7585253Z               "line": 496
2026-06-13T10:36:10.7585335Z             },
2026-06-13T10:36:10.7585424Z             {
2026-06-13T10:36:10.7585548Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T10:36:10.7585640Z               "line": 511
2026-06-13T10:36:10.7585730Z             },
2026-06-13T10:36:10.7585810Z             {
2026-06-13T10:36:10.7585934Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T10:36:10.7586024Z               "line": 1038
2026-06-13T10:36:10.7586117Z             },
2026-06-13T10:36:10.7586207Z             {
2026-06-13T10:36:10.7586327Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.7586422Z               "line": 443
2026-06-13T10:36:10.7586508Z             },
2026-06-13T10:36:10.7586599Z             {
2026-06-13T10:36:10.7586719Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.7586808Z               "line": 590
2026-06-13T10:36:10.7586899Z             },
2026-06-13T10:36:10.7586990Z             {
2026-06-13T10:36:10.7587108Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.7587195Z               "line": 731
2026-06-13T10:36:10.7587286Z             }
2026-06-13T10:36:10.7587376Z           ]
2026-06-13T10:36:10.7587462Z         },
2026-06-13T10:36:10.7587548Z         "int": {
2026-06-13T10:36:10.7587643Z           "complete": false,
2026-06-13T10:36:10.7587819Z           "evidence": []
2026-06-13T10:36:10.7587902Z         },
2026-06-13T10:36:10.7587996Z         "unit": {
2026-06-13T10:36:10.7588091Z           "complete": true,
2026-06-13T10:36:10.7588188Z           "evidence": [
2026-06-13T10:36:10.7588283Z             {
2026-06-13T10:36:10.7588400Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.7588495Z               "line": 1155
2026-06-13T10:36:10.7588576Z             },
2026-06-13T10:36:10.7588665Z             {
2026-06-13T10:36:10.7588808Z               "path": "crates/spt-daemon/tests/pumpdeadline.rs",
2026-06-13T10:36:10.7589046Z               "line": 30
2026-06-13T10:36:10.7589136Z             }
2026-06-13T10:36:10.7589638Z           ]
2026-06-13T10:36:10.7589737Z         }
2026-06-13T10:36:10.7589824Z       }
2026-06-13T10:36:10.7589919Z     },
2026-06-13T10:36:10.7590009Z     {
2026-06-13T10:36:10.7590144Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-13T10:36:10.7590454Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-13T10:36:10.7590558Z       "requiredStages": [
2026-06-13T10:36:10.7590658Z         "impl",
2026-06-13T10:36:10.7590740Z         "unit"
2026-06-13T10:36:10.7590830Z       ],
2026-06-13T10:36:10.7590929Z       "stages": {
2026-06-13T10:36:10.7591016Z         "doc": {
2026-06-13T10:36:10.7591121Z           "complete": true,
2026-06-13T10:36:10.7591206Z           "evidence": [
2026-06-13T10:36:10.7591296Z             {
2026-06-13T10:36:10.7591411Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T10:36:10.7591512Z               "line": 139
2026-06-13T10:36:10.7591601Z             }
2026-06-13T10:36:10.7591686Z           ]
2026-06-13T10:36:10.7591774Z         },
2026-06-13T10:36:10.7591859Z         "impl": {
2026-06-13T10:36:10.7591958Z           "complete": true,
2026-06-13T10:36:10.7592050Z           "evidence": [
2026-06-13T10:36:10.7592135Z             {
2026-06-13T10:36:10.7592254Z               "path": "crates/spt-store/src/db.rs",
2026-06-13T10:36:10.7592330Z               "line": 29
2026-06-13T10:36:10.7592422Z             },
2026-06-13T10:36:10.7592507Z             {
2026-06-13T10:36:10.7592626Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T10:36:10.7592703Z               "line": 101
2026-06-13T10:36:10.7592793Z             },
2026-06-13T10:36:10.7592884Z             {
2026-06-13T10:36:10.7592999Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T10:36:10.7593085Z               "line": 30
2026-06-13T10:36:10.7593164Z             },
2026-06-13T10:36:10.7593256Z             {
2026-06-13T10:36:10.7593371Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T10:36:10.7593465Z               "line": 48
2026-06-13T10:36:10.7593550Z             }
2026-06-13T10:36:10.7593631Z           ]
2026-06-13T10:36:10.7593712Z         },
2026-06-13T10:36:10.7593796Z         "int": {
2026-06-13T10:36:10.7593900Z           "complete": false,
2026-06-13T10:36:10.7593996Z           "evidence": []
2026-06-13T10:36:10.7594078Z         },
2026-06-13T10:36:10.7594177Z         "unit": {
2026-06-13T10:36:10.7594273Z           "complete": true,
2026-06-13T10:36:10.7594359Z           "evidence": [
2026-06-13T10:36:10.7594440Z             {
2026-06-13T10:36:10.7594563Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T10:36:10.7594650Z               "line": 162
2026-06-13T10:36:10.7594731Z             }
2026-06-13T10:36:10.7594816Z           ]
2026-06-13T10:36:10.7594898Z         }
2026-06-13T10:36:10.7594975Z       }
2026-06-13T10:36:10.7595055Z     },
2026-06-13T10:36:10.7595145Z     {
2026-06-13T10:36:10.7595260Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-13T10:36:10.7595722Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-13T10:36:10.7595827Z       "requiredStages": [
2026-06-13T10:36:10.7595914Z         "doc",
2026-06-13T10:36:10.7596003Z         "impl",
2026-06-13T10:36:10.7596309Z         "unit"
2026-06-13T10:36:10.7596389Z       ],
2026-06-13T10:36:10.7596474Z       "stages": {
2026-06-13T10:36:10.7596556Z         "doc": {
2026-06-13T10:36:10.7596658Z           "complete": true,
2026-06-13T10:36:10.7596749Z           "evidence": [
2026-06-13T10:36:10.7596839Z             {
2026-06-13T10:36:10.7596955Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T10:36:10.7597049Z               "line": 151
2026-06-13T10:36:10.7597130Z             }
2026-06-13T10:36:10.7597216Z           ]
2026-06-13T10:36:10.7597302Z         },
2026-06-13T10:36:10.7597383Z         "impl": {
2026-06-13T10:36:10.7597603Z           "complete": true,
2026-06-13T10:36:10.7597683Z           "evidence": [
2026-06-13T10:36:10.7597769Z             {
2026-06-13T10:36:10.7597888Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T10:36:10.7597983Z               "line": 22
2026-06-13T10:36:10.7598064Z             }
2026-06-13T10:36:10.7598157Z           ]
2026-06-13T10:36:10.7598251Z         },
2026-06-13T10:36:10.7598327Z         "int": {
2026-06-13T10:36:10.7598423Z           "complete": false,
2026-06-13T10:36:10.7598509Z           "evidence": []
2026-06-13T10:36:10.7598598Z         },
2026-06-13T10:36:10.7598675Z         "unit": {
2026-06-13T10:36:10.7598767Z           "complete": true,
2026-06-13T10:36:10.7598852Z           "evidence": [
2026-06-13T10:36:10.7598937Z             {
2026-06-13T10:36:10.7599136Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T10:36:10.7599216Z               "line": 298
2026-06-13T10:36:10.7599296Z             }
2026-06-13T10:36:10.7599392Z           ]
2026-06-13T10:36:10.7599474Z         }
2026-06-13T10:36:10.7599559Z       }
2026-06-13T10:36:10.7599639Z     },
2026-06-13T10:36:10.7599731Z     {
2026-06-13T10:36:10.7599845Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-13T10:36:10.7600297Z       "title": "Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)",
2026-06-13T10:36:10.7600403Z       "requiredStages": [
2026-06-13T10:36:10.7600484Z         "impl",
2026-06-13T10:36:10.7600569Z         "unit"
2026-06-13T10:36:10.7600651Z       ],
2026-06-13T10:36:10.7600737Z       "stages": {
2026-06-13T10:36:10.7600813Z         "doc": {
2026-06-13T10:36:10.7600913Z           "complete": true,
2026-06-13T10:36:10.7601005Z           "evidence": [
2026-06-13T10:36:10.7601089Z             {
2026-06-13T10:36:10.7601199Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T10:36:10.7601290Z               "line": 145
2026-06-13T10:36:10.7601381Z             }
2026-06-13T10:36:10.7601475Z           ]
2026-06-13T10:36:10.7601571Z         },
2026-06-13T10:36:10.7601663Z         "impl": {
2026-06-13T10:36:10.7601761Z           "complete": true,
2026-06-13T10:36:10.7601851Z           "evidence": [
2026-06-13T10:36:10.7601937Z             {
2026-06-13T10:36:10.7602076Z               "path": "crates/spt-daemon/src/pump/update.rs",
2026-06-13T10:36:10.7602170Z               "line": 160
2026-06-13T10:36:10.7602261Z             },
2026-06-13T10:36:10.7602353Z             {
2026-06-13T10:36:10.7602480Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7602581Z               "line": 184
2026-06-13T10:36:10.7602667Z             },
2026-06-13T10:36:10.7602753Z             {
2026-06-13T10:36:10.7602886Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7602977Z               "line": 282
2026-06-13T10:36:10.7603067Z             },
2026-06-13T10:36:10.7603147Z             {
2026-06-13T10:36:10.7603273Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-13T10:36:10.7603372Z               "line": 20
2026-06-13T10:36:10.7603458Z             }
2026-06-13T10:36:10.7603550Z           ]
2026-06-13T10:36:10.7603630Z         },
2026-06-13T10:36:10.7603724Z         "int": {
2026-06-13T10:36:10.7603816Z           "complete": false,
2026-06-13T10:36:10.7603917Z           "evidence": []
2026-06-13T10:36:10.7604106Z         },
2026-06-13T10:36:10.7604201Z         "unit": {
2026-06-13T10:36:10.7604300Z           "complete": true,
2026-06-13T10:36:10.7604389Z           "evidence": [
2026-06-13T10:36:10.7604479Z             {
2026-06-13T10:36:10.7604604Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7604699Z               "line": 856
2026-06-13T10:36:10.7604785Z             },
2026-06-13T10:36:10.7604871Z             {
2026-06-13T10:36:10.7605005Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-13T10:36:10.7605090Z               "line": 88
2026-06-13T10:36:10.7605281Z             },
2026-06-13T10:36:10.7605361Z             {
2026-06-13T10:36:10.7605491Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7605586Z               "line": 802
2026-06-13T10:36:10.7605676Z             },
2026-06-13T10:36:10.7605767Z             {
2026-06-13T10:36:10.7605887Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7605991Z               "line": 821
2026-06-13T10:36:10.7606072Z             },
2026-06-13T10:36:10.7606164Z             {
2026-06-13T10:36:10.7606292Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-13T10:36:10.7606383Z               "line": 278
2026-06-13T10:36:10.7606479Z             },
2026-06-13T10:36:10.7606559Z             {
2026-06-13T10:36:10.7606678Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-13T10:36:10.7606765Z               "line": 82
2026-06-13T10:36:10.7606855Z             },
2026-06-13T10:36:10.7606934Z             {
2026-06-13T10:36:10.7607054Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-13T10:36:10.7607158Z               "line": 99
2026-06-13T10:36:10.7607237Z             },
2026-06-13T10:36:10.7607332Z             {
2026-06-13T10:36:10.7607448Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-13T10:36:10.7607548Z               "line": 119
2026-06-13T10:36:10.7607638Z             }
2026-06-13T10:36:10.7607734Z           ]
2026-06-13T10:36:10.7607829Z         }
2026-06-13T10:36:10.7607914Z       }
2026-06-13T10:36:10.7608005Z     },
2026-06-13T10:36:10.7608092Z     {
2026-06-13T10:36:10.7608210Z       "id": "REQ-HAZARD-REGISTRY-GHOST-ROWS",
2026-06-13T10:36:10.7609586Z       "title": "A dead node identity's registry rows must decay: only the per-(endpoint,node) epoch lease supersedes rows, so without eviction a vanished node's rows are immortal and poison bare-id resolution with phantom AcrossNodes ambiguity — evict rows whose author node has not been heard (admitted inbound feed) within the eviction window; own rows never decay; a revived node re-inserts from its durable epoch within one pump cadence (4.10)",
2026-06-13T10:36:10.7609711Z       "requiredStages": [
2026-06-13T10:36:10.7609804Z         "doc",
2026-06-13T10:36:10.7609894Z         "impl",
2026-06-13T10:36:10.7609986Z         "unit"
2026-06-13T10:36:10.7610063Z       ],
2026-06-13T10:36:10.7610157Z       "stages": {
2026-06-13T10:36:10.7610248Z         "doc": {
2026-06-13T10:36:10.7610348Z           "complete": true,
2026-06-13T10:36:10.7610438Z           "evidence": [
2026-06-13T10:36:10.7610523Z             {
2026-06-13T10:36:10.7610644Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T10:36:10.7610734Z               "line": 157
2026-06-13T10:36:10.7610824Z             }
2026-06-13T10:36:10.7610911Z           ]
2026-06-13T10:36:10.7610991Z         },
2026-06-13T10:36:10.7611077Z         "impl": {
2026-06-13T10:36:10.7611167Z           "complete": true,
2026-06-13T10:36:10.7611264Z           "evidence": [
2026-06-13T10:36:10.7611354Z             {
2026-06-13T10:36:10.7611501Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-13T10:36:10.7611598Z               "line": 137
2026-06-13T10:36:10.7611678Z             },
2026-06-13T10:36:10.7611764Z             {
2026-06-13T10:36:10.7611889Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7611988Z               "line": 484
2026-06-13T10:36:10.7612189Z             },
2026-06-13T10:36:10.7612275Z             {
2026-06-13T10:36:10.7612402Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7612492Z               "line": 491
2026-06-13T10:36:10.7612579Z             },
2026-06-13T10:36:10.7612660Z             {
2026-06-13T10:36:10.7612788Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7612879Z               "line": 211
2026-06-13T10:36:10.7612960Z             }
2026-06-13T10:36:10.7613045Z           ]
2026-06-13T10:36:10.7613126Z         },
2026-06-13T10:36:10.7613213Z         "int": {
2026-06-13T10:36:10.7613432Z           "complete": false,
2026-06-13T10:36:10.7613523Z           "evidence": []
2026-06-13T10:36:10.7613608Z         },
2026-06-13T10:36:10.7613689Z         "unit": {
2026-06-13T10:36:10.7613795Z           "complete": true,
2026-06-13T10:36:10.7613871Z           "evidence": [
2026-06-13T10:36:10.7613966Z             {
2026-06-13T10:36:10.7614085Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7614195Z               "line": 1484
2026-06-13T10:36:10.7614280Z             },
2026-06-13T10:36:10.7614361Z             {
2026-06-13T10:36:10.7614482Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7614561Z               "line": 1542
2026-06-13T10:36:10.7614642Z             },
2026-06-13T10:36:10.7614727Z             {
2026-06-13T10:36:10.7614846Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7614940Z               "line": 834
2026-06-13T10:36:10.7615025Z             }
2026-06-13T10:36:10.7615111Z           ]
2026-06-13T10:36:10.7615189Z         }
2026-06-13T10:36:10.7615278Z       }
2026-06-13T10:36:10.7615359Z     },
2026-06-13T10:36:10.7615441Z     {
2026-06-13T10:36:10.7615560Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-13T10:36:10.7615746Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-13T10:36:10.7615851Z       "requiredStages": [
2026-06-13T10:36:10.7615940Z         "impl",
2026-06-13T10:36:10.7616023Z         "unit"
2026-06-13T10:36:10.7616104Z       ],
2026-06-13T10:36:10.7616199Z       "stages": {
2026-06-13T10:36:10.7616289Z         "doc": {
2026-06-13T10:36:10.7616380Z           "complete": false,
2026-06-13T10:36:10.7616475Z           "evidence": []
2026-06-13T10:36:10.7616565Z         },
2026-06-13T10:36:10.7616657Z         "impl": {
2026-06-13T10:36:10.7616753Z           "complete": true,
2026-06-13T10:36:10.7616847Z           "evidence": [
2026-06-13T10:36:10.7616933Z             {
2026-06-13T10:36:10.7617048Z               "path": "crates/spt-store/src/proc.rs",
2026-06-13T10:36:10.7617151Z               "line": 15
2026-06-13T10:36:10.7617238Z             },
2026-06-13T10:36:10.7617325Z             {
2026-06-13T10:36:10.7617443Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T10:36:10.7617528Z               "line": 55
2026-06-13T10:36:10.7617619Z             },
2026-06-13T10:36:10.7617700Z             {
2026-06-13T10:36:10.7617826Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T10:36:10.7617911Z               "line": 66
2026-06-13T10:36:10.7618003Z             },
2026-06-13T10:36:10.7618085Z             {
2026-06-13T10:36:10.7618207Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T10:36:10.7618299Z               "line": 115
2026-06-13T10:36:10.7618379Z             },
2026-06-13T10:36:10.7618469Z             {
2026-06-13T10:36:10.7618575Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T10:36:10.7618657Z               "line": 138
2026-06-13T10:36:10.7618742Z             }
2026-06-13T10:36:10.7618832Z           ]
2026-06-13T10:36:10.7618909Z         },
2026-06-13T10:36:10.7619071Z         "int": {
2026-06-13T10:36:10.7619171Z           "complete": false,
2026-06-13T10:36:10.7619262Z           "evidence": []
2026-06-13T10:36:10.7619351Z         },
2026-06-13T10:36:10.7619428Z         "unit": {
2026-06-13T10:36:10.7619524Z           "complete": true,
2026-06-13T10:36:10.7619714Z           "evidence": [
2026-06-13T10:36:10.7619791Z             {
2026-06-13T10:36:10.7619916Z               "path": "crates/spt-store/src/proc.rs",
2026-06-13T10:36:10.7620000Z               "line": 149
2026-06-13T10:36:10.7620090Z             },
2026-06-13T10:36:10.7620171Z             {
2026-06-13T10:36:10.7620285Z               "path": "crates/spt-store/src/proc.rs",
2026-06-13T10:36:10.7620369Z               "line": 155
2026-06-13T10:36:10.7620454Z             },
2026-06-13T10:36:10.7620536Z             {
2026-06-13T10:36:10.7620646Z               "path": "crates/spt-store/src/proc.rs",
2026-06-13T10:36:10.7620827Z               "line": 169
2026-06-13T10:36:10.7620913Z             },
2026-06-13T10:36:10.7620998Z             {
2026-06-13T10:36:10.7621112Z               "path": "crates/spt-store/src/proc.rs",
2026-06-13T10:36:10.7621200Z               "line": 178
2026-06-13T10:36:10.7621285Z             },
2026-06-13T10:36:10.7621365Z             {
2026-06-13T10:36:10.7621500Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T10:36:10.7621594Z               "line": 195
2026-06-13T10:36:10.7621666Z             },
2026-06-13T10:36:10.7621751Z             {
2026-06-13T10:36:10.7621857Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T10:36:10.7621943Z               "line": 208
2026-06-13T10:36:10.7622023Z             },
2026-06-13T10:36:10.7622110Z             {
2026-06-13T10:36:10.7622228Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T10:36:10.7622314Z               "line": 271
2026-06-13T10:36:10.7622396Z             },
2026-06-13T10:36:10.7622478Z             {
2026-06-13T10:36:10.7622600Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T10:36:10.7622677Z               "line": 290
2026-06-13T10:36:10.7622759Z             },
2026-06-13T10:36:10.7622844Z             {
2026-06-13T10:36:10.7622948Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T10:36:10.7623048Z               "line": 319
2026-06-13T10:36:10.7623129Z             }
2026-06-13T10:36:10.7623215Z           ]
2026-06-13T10:36:10.7623295Z         }
2026-06-13T10:36:10.7623376Z       }
2026-06-13T10:36:10.7623463Z     },
2026-06-13T10:36:10.7623544Z     {
2026-06-13T10:36:10.7623667Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-13T10:36:10.7623920Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-13T10:36:10.7624030Z       "requiredStages": [
2026-06-13T10:36:10.7624116Z         "impl",
2026-06-13T10:36:10.7624197Z         "unit",
2026-06-13T10:36:10.7624301Z         "int"
2026-06-13T10:36:10.7624374Z       ],
2026-06-13T10:36:10.7624464Z       "stages": {
2026-06-13T10:36:10.7624554Z         "doc": {
2026-06-13T10:36:10.7624650Z           "complete": false,
2026-06-13T10:36:10.7624741Z           "evidence": []
2026-06-13T10:36:10.7624821Z         },
2026-06-13T10:36:10.7624916Z         "impl": {
2026-06-13T10:36:10.7625009Z           "complete": true,
2026-06-13T10:36:10.7625107Z           "evidence": [
2026-06-13T10:36:10.7625187Z             {
2026-06-13T10:36:10.7625311Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T10:36:10.7625397Z               "line": 428
2026-06-13T10:36:10.7625481Z             },
2026-06-13T10:36:10.7625566Z             {
2026-06-13T10:36:10.7625676Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T10:36:10.7625768Z               "line": 830
2026-06-13T10:36:10.7625852Z             },
2026-06-13T10:36:10.7625929Z             {
2026-06-13T10:36:10.7626040Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T10:36:10.7626139Z               "line": 854
2026-06-13T10:36:10.7626229Z             },
2026-06-13T10:36:10.7626311Z             {
2026-06-13T10:36:10.7626430Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T10:36:10.7626510Z               "line": 879
2026-06-13T10:36:10.7626593Z             },
2026-06-13T10:36:10.7626678Z             {
2026-06-13T10:36:10.7626883Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T10:36:10.7626974Z               "line": 633
2026-06-13T10:36:10.7627049Z             },
2026-06-13T10:36:10.7627135Z             {
2026-06-13T10:36:10.7627242Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T10:36:10.7627336Z               "line": 745
2026-06-13T10:36:10.7627412Z             },
2026-06-13T10:36:10.7627498Z             {
2026-06-13T10:36:10.7627618Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T10:36:10.7627702Z               "line": 855
2026-06-13T10:36:10.7627788Z             },
2026-06-13T10:36:10.7627947Z             {
2026-06-13T10:36:10.7628069Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T10:36:10.7628154Z               "line": 903
2026-06-13T10:36:10.7628240Z             },
2026-06-13T10:36:10.7628320Z             {
2026-06-13T10:36:10.7628438Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-13T10:36:10.7628529Z               "line": 46
2026-06-13T10:36:10.7628620Z             },
2026-06-13T10:36:10.7628701Z             {
2026-06-13T10:36:10.7628820Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-13T10:36:10.7628902Z               "line": 167
2026-06-13T10:36:10.7629087Z             },
2026-06-13T10:36:10.7629164Z             {
2026-06-13T10:36:10.7629283Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-13T10:36:10.7629363Z               "line": 100
2026-06-13T10:36:10.7629445Z             },
2026-06-13T10:36:10.7629531Z             {
2026-06-13T10:36:10.7629636Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T10:36:10.7629731Z               "line": 134
2026-06-13T10:36:10.7629813Z             },
2026-06-13T10:36:10.7629898Z             {
2026-06-13T10:36:10.7630002Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T10:36:10.7630099Z               "line": 180
2026-06-13T10:36:10.7630190Z             }
2026-06-13T10:36:10.7630269Z           ]
2026-06-13T10:36:10.7630355Z         },
2026-06-13T10:36:10.7630437Z         "int": {
2026-06-13T10:36:10.7630542Z           "complete": true,
2026-06-13T10:36:10.7630621Z           "evidence": [
2026-06-13T10:36:10.7630706Z             {
2026-06-13T10:36:10.7630840Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-13T10:36:10.7630919Z               "line": 27
2026-06-13T10:36:10.7631014Z             },
2026-06-13T10:36:10.7631096Z             {
2026-06-13T10:36:10.7631230Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-13T10:36:10.7631320Z               "line": 129
2026-06-13T10:36:10.7634981Z             },
2026-06-13T10:36:10.7635105Z             {
2026-06-13T10:36:10.7635254Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-13T10:36:10.7635348Z               "line": 200
2026-06-13T10:36:10.7635429Z             }
2026-06-13T10:36:10.7635515Z           ]
2026-06-13T10:36:10.7635597Z         },
2026-06-13T10:36:10.7635686Z         "unit": {
2026-06-13T10:36:10.7635790Z           "complete": true,
2026-06-13T10:36:10.7635881Z           "evidence": [
2026-06-13T10:36:10.7635966Z             {
2026-06-13T10:36:10.7636093Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-13T10:36:10.7636189Z               "line": 313
2026-06-13T10:36:10.7636271Z             },
2026-06-13T10:36:10.7636351Z             {
2026-06-13T10:36:10.7636480Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-13T10:36:10.7636561Z               "line": 345
2026-06-13T10:36:10.7636642Z             },
2026-06-13T10:36:10.7636723Z             {
2026-06-13T10:36:10.7636838Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-13T10:36:10.7636928Z               "line": 366
2026-06-13T10:36:10.7637013Z             },
2026-06-13T10:36:10.7637094Z             {
2026-06-13T10:36:10.7637219Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-13T10:36:10.7637310Z               "line": 254
2026-06-13T10:36:10.7637390Z             },
2026-06-13T10:36:10.7637624Z             {
2026-06-13T10:36:10.7637753Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-13T10:36:10.7637844Z               "line": 282
2026-06-13T10:36:10.7637925Z             },
2026-06-13T10:36:10.7638001Z             {
2026-06-13T10:36:10.7638117Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-13T10:36:10.7638202Z               "line": 230
2026-06-13T10:36:10.7638286Z             },
2026-06-13T10:36:10.7638368Z             {
2026-06-13T10:36:10.7638483Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T10:36:10.7638573Z               "line": 488
2026-06-13T10:36:10.7638753Z             },
2026-06-13T10:36:10.7638834Z             {
2026-06-13T10:36:10.7639046Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T10:36:10.7639138Z               "line": 518
2026-06-13T10:36:10.7639223Z             }
2026-06-13T10:36:10.7639303Z           ]
2026-06-13T10:36:10.7639395Z         }
2026-06-13T10:36:10.7639476Z       }
2026-06-13T10:36:10.7639571Z     },
2026-06-13T10:36:10.7639651Z     {
2026-06-13T10:36:10.7639786Z       "id": "REQ-HAZARD-ROLLBACK-STATE-COMPAT",
2026-06-13T10:36:10.7641498Z       "title": "A brain must not irreversibly migrate durable state before update ready-promotion: the readiness-gated auto-rollback (ADR-0018 Q7) spawns the N-1 binary against durable state the new brain may have written, so every pre-ready write must stay N-1-readable (schema migrations gated behind ready-promotion, or written N-1-tolerant/additive). Else the first in-place schema migration silently bricks rollback (KNOWN-HAZARDS 6.8). Free now — a 2026-06-09 audit confirmed zero state-migration code exists; unmintable retroactively once a migration ships.",
2026-06-13T10:36:10.7641598Z       "requiredStages": [
2026-06-13T10:36:10.7641685Z         "doc",
2026-06-13T10:36:10.7641767Z         "impl",
2026-06-13T10:36:10.7641856Z         "unit"
2026-06-13T10:36:10.7641942Z       ],
2026-06-13T10:36:10.7642024Z       "stages": {
2026-06-13T10:36:10.7642119Z         "doc": {
2026-06-13T10:36:10.7642209Z           "complete": true,
2026-06-13T10:36:10.7642301Z           "evidence": [
2026-06-13T10:36:10.7642376Z             {
2026-06-13T10:36:10.7642480Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T10:36:10.7642562Z               "line": 300
2026-06-13T10:36:10.7642644Z             }
2026-06-13T10:36:10.7642724Z           ]
2026-06-13T10:36:10.7642804Z         },
2026-06-13T10:36:10.7642886Z         "impl": {
2026-06-13T10:36:10.7642964Z           "complete": true,
2026-06-13T10:36:10.7643053Z           "evidence": [
2026-06-13T10:36:10.7643134Z             {
2026-06-13T10:36:10.7643278Z               "path": "crates/spt-daemon/src/rollback_compat.rs",
2026-06-13T10:36:10.7643372Z               "line": 33
2026-06-13T10:36:10.7643453Z             },
2026-06-13T10:36:10.7643536Z             {
2026-06-13T10:36:10.7643659Z               "path": "crates/spt-daemon/src/rollback_compat.rs",
2026-06-13T10:36:10.7643749Z               "line": 39
2026-06-13T10:36:10.7643831Z             }
2026-06-13T10:36:10.7643908Z           ]
2026-06-13T10:36:10.7643992Z         },
2026-06-13T10:36:10.7644077Z         "int": {
2026-06-13T10:36:10.7644163Z           "complete": false,
2026-06-13T10:36:10.7644245Z           "evidence": []
2026-06-13T10:36:10.7644330Z         },
2026-06-13T10:36:10.7644411Z         "unit": {
2026-06-13T10:36:10.7644492Z           "complete": true,
2026-06-13T10:36:10.7644574Z           "evidence": [
2026-06-13T10:36:10.7644655Z             {
2026-06-13T10:36:10.7644782Z               "path": "crates/spt-daemon/src/rollback_compat.rs",
2026-06-13T10:36:10.7644875Z               "line": 95
2026-06-13T10:36:10.7644960Z             }
2026-06-13T10:36:10.7645045Z           ]
2026-06-13T10:36:10.7645112Z         }
2026-06-13T10:36:10.7645189Z       }
2026-06-13T10:36:10.7645265Z     },
2026-06-13T10:36:10.7645345Z     {
2026-06-13T10:36:10.7645446Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-13T10:36:10.7645636Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-13T10:36:10.7645941Z       "requiredStages": [
2026-06-13T10:36:10.7646027Z         "impl",
2026-06-13T10:36:10.7646109Z         "unit"
2026-06-13T10:36:10.7646195Z       ],
2026-06-13T10:36:10.7646280Z       "stages": {
2026-06-13T10:36:10.7646365Z         "doc": {
2026-06-13T10:36:10.7646456Z           "complete": false,
2026-06-13T10:36:10.7646545Z           "evidence": []
2026-06-13T10:36:10.7646620Z         },
2026-06-13T10:36:10.7646705Z         "impl": {
2026-06-13T10:36:10.7646792Z           "complete": true,
2026-06-13T10:36:10.7646874Z           "evidence": [
2026-06-13T10:36:10.7647049Z             {
2026-06-13T10:36:10.7647169Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.7647254Z               "line": 62
2026-06-13T10:36:10.7647325Z             },
2026-06-13T10:36:10.7647403Z             {
2026-06-13T10:36:10.7647522Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.7647612Z               "line": 71
2026-06-13T10:36:10.7647698Z             },
2026-06-13T10:36:10.7647779Z             {
2026-06-13T10:36:10.7647903Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.7647984Z               "line": 80
2026-06-13T10:36:10.7648066Z             },
2026-06-13T10:36:10.7648146Z             {
2026-06-13T10:36:10.7648265Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.7648357Z               "line": 88
2026-06-13T10:36:10.7648437Z             },
2026-06-13T10:36:10.7648513Z             {
2026-06-13T10:36:10.7648628Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7648719Z               "line": 33
2026-06-13T10:36:10.7648804Z             },
2026-06-13T10:36:10.7648890Z             {
2026-06-13T10:36:10.7649081Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7649170Z               "line": 65
2026-06-13T10:36:10.7649251Z             },
2026-06-13T10:36:10.7649333Z             {
2026-06-13T10:36:10.7649440Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7649520Z               "line": 74
2026-06-13T10:36:10.7649606Z             },
2026-06-13T10:36:10.7649683Z             {
2026-06-13T10:36:10.7649788Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7649868Z               "line": 93
2026-06-13T10:36:10.7649955Z             },
2026-06-13T10:36:10.7650037Z             {
2026-06-13T10:36:10.7650145Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7650226Z               "line": 102
2026-06-13T10:36:10.7650313Z             },
2026-06-13T10:36:10.7650393Z             {
2026-06-13T10:36:10.7650497Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7650584Z               "line": 111
2026-06-13T10:36:10.7650666Z             },
2026-06-13T10:36:10.7650746Z             {
2026-06-13T10:36:10.7650861Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7650947Z               "line": 122
2026-06-13T10:36:10.7651023Z             },
2026-06-13T10:36:10.7651104Z             {
2026-06-13T10:36:10.7651209Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7651300Z               "line": 140
2026-06-13T10:36:10.7651371Z             },
2026-06-13T10:36:10.7651456Z             {
2026-06-13T10:36:10.7651567Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7651653Z               "line": 149
2026-06-13T10:36:10.7651737Z             },
2026-06-13T10:36:10.7651813Z             {
2026-06-13T10:36:10.7651918Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7652003Z               "line": 158
2026-06-13T10:36:10.7652087Z             },
2026-06-13T10:36:10.7652163Z             {
2026-06-13T10:36:10.7652269Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7652364Z               "line": 169
2026-06-13T10:36:10.7652435Z             },
2026-06-13T10:36:10.7652512Z             {
2026-06-13T10:36:10.7652721Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7652802Z               "line": 177
2026-06-13T10:36:10.7652889Z             },
2026-06-13T10:36:10.7652970Z             {
2026-06-13T10:36:10.7653074Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7653156Z               "line": 186
2026-06-13T10:36:10.7653242Z             },
2026-06-13T10:36:10.7653318Z             {
2026-06-13T10:36:10.7653422Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7653500Z               "line": 195
2026-06-13T10:36:10.7653580Z             },
2026-06-13T10:36:10.7653999Z             {
2026-06-13T10:36:10.7654110Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7654196Z               "line": 204
2026-06-13T10:36:10.7654280Z             },
2026-06-13T10:36:10.7654357Z             {
2026-06-13T10:36:10.7654463Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7654543Z               "line": 216
2026-06-13T10:36:10.7654633Z             },
2026-06-13T10:36:10.7654708Z             {
2026-06-13T10:36:10.7654814Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7654905Z               "line": 223
2026-06-13T10:36:10.7654985Z             },
2026-06-13T10:36:10.7655067Z             {
2026-06-13T10:36:10.7655176Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7655261Z               "line": 232
2026-06-13T10:36:10.7655338Z             },
2026-06-13T10:36:10.7655420Z             {
2026-06-13T10:36:10.7655530Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7655614Z               "line": 239
2026-06-13T10:36:10.7655696Z             },
2026-06-13T10:36:10.7655778Z             {
2026-06-13T10:36:10.7655877Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7655958Z               "line": 306
2026-06-13T10:36:10.7656045Z             },
2026-06-13T10:36:10.7656125Z             {
2026-06-13T10:36:10.7656234Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7656316Z               "line": 318
2026-06-13T10:36:10.7656398Z             },
2026-06-13T10:36:10.7656478Z             {
2026-06-13T10:36:10.7656587Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7656674Z               "line": 405
2026-06-13T10:36:10.7656755Z             }
2026-06-13T10:36:10.7656835Z           ]
2026-06-13T10:36:10.7656920Z         },
2026-06-13T10:36:10.7657016Z         "int": {
2026-06-13T10:36:10.7657110Z           "complete": false,
2026-06-13T10:36:10.7657195Z           "evidence": []
2026-06-13T10:36:10.7657280Z         },
2026-06-13T10:36:10.7657362Z         "unit": {
2026-06-13T10:36:10.7657448Z           "complete": true,
2026-06-13T10:36:10.7657528Z           "evidence": [
2026-06-13T10:36:10.7657609Z             {
2026-06-13T10:36:10.7657720Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7657805Z               "line": 487
2026-06-13T10:36:10.7657895Z             },
2026-06-13T10:36:10.7657973Z             {
2026-06-13T10:36:10.7658077Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7658167Z               "line": 528
2026-06-13T10:36:10.7658239Z             },
2026-06-13T10:36:10.7658320Z             {
2026-06-13T10:36:10.7658430Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7658515Z               "line": 541
2026-06-13T10:36:10.7658592Z             },
2026-06-13T10:36:10.7658668Z             {
2026-06-13T10:36:10.7658773Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7658858Z               "line": 627
2026-06-13T10:36:10.7659025Z             }
2026-06-13T10:36:10.7659107Z           ]
2026-06-13T10:36:10.7659188Z         }
2026-06-13T10:36:10.7659265Z       }
2026-06-13T10:36:10.7659350Z     },
2026-06-13T10:36:10.7659431Z     {
2026-06-13T10:36:10.7659541Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-13T10:36:10.7659749Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-13T10:36:10.7659949Z       "requiredStages": [
2026-06-13T10:36:10.7660057Z         "impl",
2026-06-13T10:36:10.7660181Z         "unit"
2026-06-13T10:36:10.7660263Z       ],
2026-06-13T10:36:10.7660339Z       "stages": {
2026-06-13T10:36:10.7660419Z         "doc": {
2026-06-13T10:36:10.7660505Z           "complete": false,
2026-06-13T10:36:10.7660592Z           "evidence": []
2026-06-13T10:36:10.7660672Z         },
2026-06-13T10:36:10.7660757Z         "impl": {
2026-06-13T10:36:10.7660835Z           "complete": true,
2026-06-13T10:36:10.7660920Z           "evidence": [
2026-06-13T10:36:10.7661101Z             {
2026-06-13T10:36:10.7661211Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-13T10:36:10.7661296Z               "line": 143
2026-06-13T10:36:10.7661377Z             },
2026-06-13T10:36:10.7661454Z             {
2026-06-13T10:36:10.7661578Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.7661673Z               "line": 148
2026-06-13T10:36:10.7661759Z             }
2026-06-13T10:36:10.7661836Z           ]
2026-06-13T10:36:10.7661921Z         },
2026-06-13T10:36:10.7662003Z         "int": {
2026-06-13T10:36:10.7662094Z           "complete": false,
2026-06-13T10:36:10.7662170Z           "evidence": []
2026-06-13T10:36:10.7662255Z         },
2026-06-13T10:36:10.7662335Z         "unit": {
2026-06-13T10:36:10.7662426Z           "complete": true,
2026-06-13T10:36:10.7662511Z           "evidence": [
2026-06-13T10:36:10.7662595Z             {
2026-06-13T10:36:10.7662704Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-13T10:36:10.7662795Z               "line": 264
2026-06-13T10:36:10.7662878Z             },
2026-06-13T10:36:10.7662957Z             {
2026-06-13T10:36:10.7663082Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.7663168Z               "line": 623
2026-06-13T10:36:10.7663253Z             },
2026-06-13T10:36:10.7663339Z             {
2026-06-13T10:36:10.7663449Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.7663544Z               "line": 636
2026-06-13T10:36:10.7663624Z             }
2026-06-13T10:36:10.7663707Z           ]
2026-06-13T10:36:10.7663792Z         }
2026-06-13T10:36:10.7663878Z       }
2026-06-13T10:36:10.7663958Z     },
2026-06-13T10:36:10.7664036Z     {
2026-06-13T10:36:10.7664145Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-13T10:36:10.7664278Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-13T10:36:10.7664370Z       "requiredStages": [
2026-06-13T10:36:10.7664455Z         "impl",
2026-06-13T10:36:10.7664536Z         "unit"
2026-06-13T10:36:10.7664627Z       ],
2026-06-13T10:36:10.7664709Z       "stages": {
2026-06-13T10:36:10.7664798Z         "doc": {
2026-06-13T10:36:10.7664888Z           "complete": false,
2026-06-13T10:36:10.7664981Z           "evidence": []
2026-06-13T10:36:10.7665062Z         },
2026-06-13T10:36:10.7665145Z         "impl": {
2026-06-13T10:36:10.7665235Z           "complete": true,
2026-06-13T10:36:10.7665331Z           "evidence": [
2026-06-13T10:36:10.7665418Z             {
2026-06-13T10:36:10.7665531Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7665622Z               "line": 114
2026-06-13T10:36:10.7665699Z             },
2026-06-13T10:36:10.7665784Z             {
2026-06-13T10:36:10.7665907Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T10:36:10.7665990Z               "line": 481
2026-06-13T10:36:10.7666075Z             }
2026-06-13T10:36:10.7666155Z           ]
2026-06-13T10:36:10.7666242Z         },
2026-06-13T10:36:10.7666324Z         "int": {
2026-06-13T10:36:10.7666418Z           "complete": false,
2026-06-13T10:36:10.7666503Z           "evidence": []
2026-06-13T10:36:10.7666586Z         },
2026-06-13T10:36:10.7666667Z         "unit": {
2026-06-13T10:36:10.7666762Z           "complete": true,
2026-06-13T10:36:10.7666852Z           "evidence": [
2026-06-13T10:36:10.7666939Z             {
2026-06-13T10:36:10.7667128Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T10:36:10.7667220Z               "line": 515
2026-06-13T10:36:10.7667301Z             }
2026-06-13T10:36:10.7667390Z           ]
2026-06-13T10:36:10.7667475Z         }
2026-06-13T10:36:10.7667571Z       }
2026-06-13T10:36:10.7667651Z     },
2026-06-13T10:36:10.7667740Z     {
2026-06-13T10:36:10.7667859Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-13T10:36:10.7668022Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-13T10:36:10.7668121Z       "requiredStages": [
2026-06-13T10:36:10.7668213Z         "impl",
2026-06-13T10:36:10.7668370Z         "unit"
2026-06-13T10:36:10.7668455Z       ],
2026-06-13T10:36:10.7668552Z       "stages": {
2026-06-13T10:36:10.7668642Z         "doc": {
2026-06-13T10:36:10.7668732Z           "complete": false,
2026-06-13T10:36:10.7668823Z           "evidence": []
2026-06-13T10:36:10.7668909Z         },
2026-06-13T10:36:10.7669075Z         "impl": {
2026-06-13T10:36:10.7669196Z           "complete": true,
2026-06-13T10:36:10.7669300Z           "evidence": [
2026-06-13T10:36:10.7669404Z             {
2026-06-13T10:36:10.7669525Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7669619Z               "line": 502
2026-06-13T10:36:10.7669700Z             },
2026-06-13T10:36:10.7669787Z             {
2026-06-13T10:36:10.7669900Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-13T10:36:10.7670001Z               "line": 28
2026-06-13T10:36:10.7670092Z             }
2026-06-13T10:36:10.7670173Z           ]
2026-06-13T10:36:10.7670262Z         },
2026-06-13T10:36:10.7670356Z         "int": {
2026-06-13T10:36:10.7670457Z           "complete": false,
2026-06-13T10:36:10.7670551Z           "evidence": []
2026-06-13T10:36:10.7670636Z         },
2026-06-13T10:36:10.7670726Z         "unit": {
2026-06-13T10:36:10.7670818Z           "complete": true,
2026-06-13T10:36:10.7670917Z           "evidence": [
2026-06-13T10:36:10.7671007Z             {
2026-06-13T10:36:10.7671147Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-13T10:36:10.7671232Z               "line": 229
2026-06-13T10:36:10.7671322Z             }
2026-06-13T10:36:10.7671410Z           ]
2026-06-13T10:36:10.7671490Z         }
2026-06-13T10:36:10.7671580Z       }
2026-06-13T10:36:10.7671661Z     },
2026-06-13T10:36:10.7671752Z     {
2026-06-13T10:36:10.7671861Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-13T10:36:10.7672005Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-13T10:36:10.7672110Z       "requiredStages": [],
2026-06-13T10:36:10.7672195Z       "stages": {
2026-06-13T10:36:10.7672295Z         "doc": {
2026-06-13T10:36:10.7672387Z           "complete": false,
2026-06-13T10:36:10.7672481Z           "evidence": []
2026-06-13T10:36:10.7672563Z         },
2026-06-13T10:36:10.7672654Z         "impl": {
2026-06-13T10:36:10.7672744Z           "complete": false,
2026-06-13T10:36:10.7672829Z           "evidence": []
2026-06-13T10:36:10.7672914Z         },
2026-06-13T10:36:10.7672995Z         "int": {
2026-06-13T10:36:10.7673095Z           "complete": false,
2026-06-13T10:36:10.7673174Z           "evidence": []
2026-06-13T10:36:10.7673255Z         },
2026-06-13T10:36:10.7673341Z         "unit": {
2026-06-13T10:36:10.7673428Z           "complete": false,
2026-06-13T10:36:10.7673526Z           "evidence": []
2026-06-13T10:36:10.7673598Z         }
2026-06-13T10:36:10.7673680Z       }
2026-06-13T10:36:10.7673766Z     },
2026-06-13T10:36:10.7673855Z     {
2026-06-13T10:36:10.7673976Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-13T10:36:10.7674119Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-13T10:36:10.7674228Z       "requiredStages": [
2026-06-13T10:36:10.7674305Z         "impl",
2026-06-13T10:36:10.7674395Z         "unit"
2026-06-13T10:36:10.7674471Z       ],
2026-06-13T10:36:10.7674566Z       "stages": {
2026-06-13T10:36:10.7674653Z         "doc": {
2026-06-13T10:36:10.7674733Z           "complete": false,
2026-06-13T10:36:10.7674944Z           "evidence": []
2026-06-13T10:36:10.7675024Z         },
2026-06-13T10:36:10.7675120Z         "impl": {
2026-06-13T10:36:10.7675191Z           "complete": true,
2026-06-13T10:36:10.7675278Z           "evidence": [
2026-06-13T10:36:10.7675367Z             {
2026-06-13T10:36:10.7675467Z               "path": "crates/spt-live/src/turn.rs",
2026-06-13T10:36:10.7675564Z               "line": 19
2026-06-13T10:36:10.7675645Z             },
2026-06-13T10:36:10.7675724Z             {
2026-06-13T10:36:10.7675843Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T10:36:10.7676039Z               "line": 347
2026-06-13T10:36:10.7676129Z             },
2026-06-13T10:36:10.7676210Z             {
2026-06-13T10:36:10.7676336Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T10:36:10.7676415Z               "line": 383
2026-06-13T10:36:10.7676502Z             },
2026-06-13T10:36:10.7676583Z             {
2026-06-13T10:36:10.7676701Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-13T10:36:10.7676802Z               "line": 15
2026-06-13T10:36:10.7676884Z             },
2026-06-13T10:36:10.7676959Z             {
2026-06-13T10:36:10.7677078Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-13T10:36:10.7677174Z               "line": 48
2026-06-13T10:36:10.7677255Z             },
2026-06-13T10:36:10.7677336Z             {
2026-06-13T10:36:10.7677456Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-13T10:36:10.7677537Z               "line": 119
2026-06-13T10:36:10.7677616Z             },
2026-06-13T10:36:10.7677698Z             {
2026-06-13T10:36:10.7677819Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7677913Z               "line": 3075
2026-06-13T10:36:10.7677993Z             }
2026-06-13T10:36:10.7678078Z           ]
2026-06-13T10:36:10.7678160Z         },
2026-06-13T10:36:10.7678239Z         "int": {
2026-06-13T10:36:10.7678324Z           "complete": false,
2026-06-13T10:36:10.7678424Z           "evidence": []
2026-06-13T10:36:10.7678511Z         },
2026-06-13T10:36:10.7678591Z         "unit": {
2026-06-13T10:36:10.7678681Z           "complete": true,
2026-06-13T10:36:10.7678763Z           "evidence": [
2026-06-13T10:36:10.7678859Z             {
2026-06-13T10:36:10.7679054Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T10:36:10.7679135Z               "line": 496
2026-06-13T10:36:10.7679230Z             },
2026-06-13T10:36:10.7679316Z             {
2026-06-13T10:36:10.7679441Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-13T10:36:10.7679521Z               "line": 165
2026-06-13T10:36:10.7679602Z             },
2026-06-13T10:36:10.7679688Z             {
2026-06-13T10:36:10.7679807Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-13T10:36:10.7679907Z               "line": 175
2026-06-13T10:36:10.7679993Z             }
2026-06-13T10:36:10.7680076Z           ]
2026-06-13T10:36:10.7680155Z         }
2026-06-13T10:36:10.7680246Z       }
2026-06-13T10:36:10.7680318Z     },
2026-06-13T10:36:10.7680404Z     {
2026-06-13T10:36:10.7680512Z       "id": "REQ-HAZARD-SUDO-SECURE-PATH",
2026-06-13T10:36:10.7681373Z       "title": "Elevation guidance on Unix names the binary's ABSOLUTE path under sudo (a user-local install ~/.local/bin · ~/.cargo/bin is not on sudo's secure_path, so bare `sudo spt` dies 'command not found'); gated commands auto-elevate on an interactive TTY, else print the runnable hint (5.10)",
2026-06-13T10:36:10.7681477Z       "requiredStages": [
2026-06-13T10:36:10.7681558Z         "impl",
2026-06-13T10:36:10.7681640Z         "unit"
2026-06-13T10:36:10.7681721Z       ],
2026-06-13T10:36:10.7681802Z       "stages": {
2026-06-13T10:36:10.7681887Z         "doc": {
2026-06-13T10:36:10.7681965Z           "complete": false,
2026-06-13T10:36:10.7682064Z           "evidence": []
2026-06-13T10:36:10.7682149Z         },
2026-06-13T10:36:10.7682231Z         "impl": {
2026-06-13T10:36:10.7682327Z           "complete": true,
2026-06-13T10:36:10.7682536Z           "evidence": [
2026-06-13T10:36:10.7682628Z             {
2026-06-13T10:36:10.7682736Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7682831Z               "line": 2817
2026-06-13T10:36:10.7682919Z             },
2026-06-13T10:36:10.7682999Z             {
2026-06-13T10:36:10.7683108Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T10:36:10.7683200Z               "line": 103
2026-06-13T10:36:10.7683276Z             },
2026-06-13T10:36:10.7683361Z             {
2026-06-13T10:36:10.7683474Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T10:36:10.7683560Z               "line": 135
2026-06-13T10:36:10.7683749Z             }
2026-06-13T10:36:10.7683839Z           ]
2026-06-13T10:36:10.7683915Z         },
2026-06-13T10:36:10.7683998Z         "int": {
2026-06-13T10:36:10.7684082Z           "complete": false,
2026-06-13T10:36:10.7684168Z           "evidence": []
2026-06-13T10:36:10.7684245Z         },
2026-06-13T10:36:10.7684336Z         "unit": {
2026-06-13T10:36:10.7684430Z           "complete": true,
2026-06-13T10:36:10.7684517Z           "evidence": [
2026-06-13T10:36:10.7684607Z             {
2026-06-13T10:36:10.7684702Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T10:36:10.7684802Z               "line": 258
2026-06-13T10:36:10.7684884Z             },
2026-06-13T10:36:10.7684969Z             {
2026-06-13T10:36:10.7685074Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T10:36:10.7685161Z               "line": 283
2026-06-13T10:36:10.7685241Z             },
2026-06-13T10:36:10.7685322Z             {
2026-06-13T10:36:10.7685437Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T10:36:10.7685533Z               "line": 296
2026-06-13T10:36:10.7685617Z             },
2026-06-13T10:36:10.7685694Z             {
2026-06-13T10:36:10.7685800Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T10:36:10.7685885Z               "line": 308
2026-06-13T10:36:10.7685956Z             }
2026-06-13T10:36:10.7686042Z           ]
2026-06-13T10:36:10.7686125Z         }
2026-06-13T10:36:10.7686210Z       }
2026-06-13T10:36:10.7686298Z     },
2026-06-13T10:36:10.7686379Z     {
2026-06-13T10:36:10.7686485Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-13T10:36:10.7686632Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-13T10:36:10.7686732Z       "requiredStages": [
2026-06-13T10:36:10.7686810Z         "impl",
2026-06-13T10:36:10.7686891Z         "unit"
2026-06-13T10:36:10.7686970Z       ],
2026-06-13T10:36:10.7687047Z       "stages": {
2026-06-13T10:36:10.7687134Z         "doc": {
2026-06-13T10:36:10.7687234Z           "complete": false,
2026-06-13T10:36:10.7687318Z           "evidence": []
2026-06-13T10:36:10.7687401Z         },
2026-06-13T10:36:10.7687486Z         "impl": {
2026-06-13T10:36:10.7687586Z           "complete": true,
2026-06-13T10:36:10.7687672Z           "evidence": [
2026-06-13T10:36:10.7687754Z             {
2026-06-13T10:36:10.7687862Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-13T10:36:10.7687962Z               "line": 35
2026-06-13T10:36:10.7688040Z             }
2026-06-13T10:36:10.7688126Z           ]
2026-06-13T10:36:10.7688205Z         },
2026-06-13T10:36:10.7688287Z         "int": {
2026-06-13T10:36:10.7688388Z           "complete": false,
2026-06-13T10:36:10.7688473Z           "evidence": []
2026-06-13T10:36:10.7688558Z         },
2026-06-13T10:36:10.7688638Z         "unit": {
2026-06-13T10:36:10.7688734Z           "complete": true,
2026-06-13T10:36:10.7688813Z           "evidence": [
2026-06-13T10:36:10.7688894Z             {
2026-06-13T10:36:10.7689090Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-13T10:36:10.7689185Z               "line": 220
2026-06-13T10:36:10.7689299Z             }
2026-06-13T10:36:10.7689395Z           ]
2026-06-13T10:36:10.7689476Z         }
2026-06-13T10:36:10.7689552Z       }
2026-06-13T10:36:10.7689638Z     },
2026-06-13T10:36:10.7689724Z     {
2026-06-13T10:36:10.7689828Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-13T10:36:10.7690181Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-13T10:36:10.7690277Z       "requiredStages": [
2026-06-13T10:36:10.7690377Z         "impl",
2026-06-13T10:36:10.7690453Z         "unit"
2026-06-13T10:36:10.7690534Z       ],
2026-06-13T10:36:10.7690626Z       "stages": {
2026-06-13T10:36:10.7690701Z         "doc": {
2026-06-13T10:36:10.7690796Z           "complete": false,
2026-06-13T10:36:10.7690878Z           "evidence": []
2026-06-13T10:36:10.7690955Z         },
2026-06-13T10:36:10.7691044Z         "impl": {
2026-06-13T10:36:10.7691217Z           "complete": true,
2026-06-13T10:36:10.7691317Z           "evidence": [
2026-06-13T10:36:10.7691392Z             {
2026-06-13T10:36:10.7691525Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T10:36:10.7691611Z               "line": 405
2026-06-13T10:36:10.7691685Z             },
2026-06-13T10:36:10.7691766Z             {
2026-06-13T10:36:10.7691890Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.7691986Z               "line": 409
2026-06-13T10:36:10.7692061Z             },
2026-06-13T10:36:10.7692152Z             {
2026-06-13T10:36:10.7692262Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T10:36:10.7692357Z               "line": 156
2026-06-13T10:36:10.7692442Z             }
2026-06-13T10:36:10.7692515Z           ]
2026-06-13T10:36:10.7692610Z         },
2026-06-13T10:36:10.7692686Z         "int": {
2026-06-13T10:36:10.7692786Z           "complete": false,
2026-06-13T10:36:10.7692868Z           "evidence": []
2026-06-13T10:36:10.7692963Z         },
2026-06-13T10:36:10.7693044Z         "unit": {
2026-06-13T10:36:10.7693135Z           "complete": true,
2026-06-13T10:36:10.7693230Z           "evidence": [
2026-06-13T10:36:10.7693310Z             {
2026-06-13T10:36:10.7693435Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.7693512Z               "line": 812
2026-06-13T10:36:10.7693611Z             },
2026-06-13T10:36:10.7693702Z             {
2026-06-13T10:36:10.7693818Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.7693912Z               "line": 826
2026-06-13T10:36:10.7693996Z             },
2026-06-13T10:36:10.7694077Z             {
2026-06-13T10:36:10.7694196Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.7694290Z               "line": 845
2026-06-13T10:36:10.7694375Z             },
2026-06-13T10:36:10.7694457Z             {
2026-06-13T10:36:10.7694581Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.7694670Z               "line": 862
2026-06-13T10:36:10.7694762Z             },
2026-06-13T10:36:10.7694844Z             {
2026-06-13T10:36:10.7694976Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-13T10:36:10.7695067Z               "line": 441
2026-06-13T10:36:10.7695148Z             }
2026-06-13T10:36:10.7695239Z           ]
2026-06-13T10:36:10.7695328Z         }
2026-06-13T10:36:10.7695416Z       }
2026-06-13T10:36:10.7695496Z     },
2026-06-13T10:36:10.7695582Z     {
2026-06-13T10:36:10.7695691Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-13T10:36:10.7696473Z       "title": "WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)",
2026-06-13T10:36:10.7696578Z       "requiredStages": [
2026-06-13T10:36:10.7696665Z         "doc",
2026-06-13T10:36:10.7696760Z         "impl",
2026-06-13T10:36:10.7696854Z         "unit"
2026-06-13T10:36:10.7696935Z       ],
2026-06-13T10:36:10.7697025Z       "stages": {
2026-06-13T10:36:10.7697108Z         "doc": {
2026-06-13T10:36:10.7697201Z           "complete": true,
2026-06-13T10:36:10.7697292Z           "evidence": [
2026-06-13T10:36:10.7697379Z             {
2026-06-13T10:36:10.7697493Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T10:36:10.7697660Z               "line": 352
2026-06-13T10:36:10.7697750Z             }
2026-06-13T10:36:10.7697831Z           ]
2026-06-13T10:36:10.7697917Z         },
2026-06-13T10:36:10.7697999Z         "impl": {
2026-06-13T10:36:10.7698098Z           "complete": true,
2026-06-13T10:36:10.7698193Z           "evidence": [
2026-06-13T10:36:10.7698276Z             {
2026-06-13T10:36:10.7698403Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-13T10:36:10.7698489Z               "line": 85
2026-06-13T10:36:10.7698581Z             },
2026-06-13T10:36:10.7698671Z             {
2026-06-13T10:36:10.7698880Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-13T10:36:10.7699061Z               "line": 99
2026-06-13T10:36:10.7699142Z             },
2026-06-13T10:36:10.7699228Z             {
2026-06-13T10:36:10.7699346Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T10:36:10.7699440Z               "line": 55
2026-06-13T10:36:10.7699550Z             },
2026-06-13T10:36:10.7699645Z             {
2026-06-13T10:36:10.7699763Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-13T10:36:10.7699850Z               "line": 31
2026-06-13T10:36:10.7699936Z             },
2026-06-13T10:36:10.7700017Z             {
2026-06-13T10:36:10.7702979Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-13T10:36:10.7703090Z               "line": 189
2026-06-13T10:36:10.7703180Z             },
2026-06-13T10:36:10.7703269Z             {
2026-06-13T10:36:10.7703399Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T10:36:10.7703508Z               "line": 95
2026-06-13T10:36:10.7703589Z             },
2026-06-13T10:36:10.7703675Z             {
2026-06-13T10:36:10.7703800Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T10:36:10.7703899Z               "line": 29
2026-06-13T10:36:10.7703975Z             },
2026-06-13T10:36:10.7704053Z             {
2026-06-13T10:36:10.7704180Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T10:36:10.7704281Z               "line": 104
2026-06-13T10:36:10.7704368Z             },
2026-06-13T10:36:10.7704439Z             {
2026-06-13T10:36:10.7704575Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7704666Z               "line": 192
2026-06-13T10:36:10.7704742Z             },
2026-06-13T10:36:10.7704821Z             {
2026-06-13T10:36:10.7704940Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-13T10:36:10.7705031Z               "line": 28
2026-06-13T10:36:10.7705108Z             },
2026-06-13T10:36:10.7705193Z             {
2026-06-13T10:36:10.7705312Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-13T10:36:10.7705389Z               "line": 74
2026-06-13T10:36:10.7705470Z             },
2026-06-13T10:36:10.7705550Z             {
2026-06-13T10:36:10.7705670Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-13T10:36:10.7705751Z               "line": 32
2026-06-13T10:36:10.7705832Z             },
2026-06-13T10:36:10.7705918Z             {
2026-06-13T10:36:10.7706037Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T10:36:10.7706128Z               "line": 40
2026-06-13T10:36:10.7706199Z             },
2026-06-13T10:36:10.7706281Z             {
2026-06-13T10:36:10.7706390Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T10:36:10.7706480Z               "line": 184
2026-06-13T10:36:10.7706557Z             },
2026-06-13T10:36:10.7706634Z             {
2026-06-13T10:36:10.7706747Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-13T10:36:10.7706828Z               "line": 57
2026-06-13T10:36:10.7706906Z             },
2026-06-13T10:36:10.7706987Z             {
2026-06-13T10:36:10.7707090Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-13T10:36:10.7707177Z               "line": 99
2026-06-13T10:36:10.7707259Z             },
2026-06-13T10:36:10.7707344Z             {
2026-06-13T10:36:10.7707452Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-13T10:36:10.7707682Z               "line": 223
2026-06-13T10:36:10.7707762Z             },
2026-06-13T10:36:10.7707843Z             {
2026-06-13T10:36:10.7707963Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-13T10:36:10.7708039Z               "line": 37
2026-06-13T10:36:10.7708119Z             },
2026-06-13T10:36:10.7708202Z             {
2026-06-13T10:36:10.7708325Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-13T10:36:10.7708419Z               "line": 38
2026-06-13T10:36:10.7708496Z             },
2026-06-13T10:36:10.7708573Z             {
2026-06-13T10:36:10.7708792Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-13T10:36:10.7708874Z               "line": 36
2026-06-13T10:36:10.7709045Z             },
2026-06-13T10:36:10.7709126Z             {
2026-06-13T10:36:10.7709231Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-13T10:36:10.7709341Z               "line": 40
2026-06-13T10:36:10.7709431Z             }
2026-06-13T10:36:10.7709504Z           ]
2026-06-13T10:36:10.7709588Z         },
2026-06-13T10:36:10.7709683Z         "int": {
2026-06-13T10:36:10.7709788Z           "complete": false,
2026-06-13T10:36:10.7709873Z           "evidence": []
2026-06-13T10:36:10.7709953Z         },
2026-06-13T10:36:10.7710038Z         "unit": {
2026-06-13T10:36:10.7710133Z           "complete": true,
2026-06-13T10:36:10.7710225Z           "evidence": [
2026-06-13T10:36:10.7710300Z             {
2026-06-13T10:36:10.7710429Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T10:36:10.7710525Z               "line": 212
2026-06-13T10:36:10.7710615Z             },
2026-06-13T10:36:10.7710700Z             {
2026-06-13T10:36:10.7710835Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-13T10:36:10.7710916Z               "line": 136
2026-06-13T10:36:10.7711001Z             },
2026-06-13T10:36:10.7711083Z             {
2026-06-13T10:36:10.7711211Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-13T10:36:10.7711296Z               "line": 685
2026-06-13T10:36:10.7711378Z             },
2026-06-13T10:36:10.7711460Z             {
2026-06-13T10:36:10.7711578Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-13T10:36:10.7711659Z               "line": 224
2026-06-13T10:36:10.7711746Z             },
2026-06-13T10:36:10.7711835Z             {
2026-06-13T10:36:10.7711940Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-13T10:36:10.7712028Z               "line": 200
2026-06-13T10:36:10.7712109Z             },
2026-06-13T10:36:10.7712192Z             {
2026-06-13T10:36:10.7712303Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-13T10:36:10.7712390Z               "line": 112
2026-06-13T10:36:10.7712474Z             },
2026-06-13T10:36:10.7712555Z             {
2026-06-13T10:36:10.7712669Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-13T10:36:10.7712755Z               "line": 157
2026-06-13T10:36:10.7712843Z             },
2026-06-13T10:36:10.7712928Z             {
2026-06-13T10:36:10.7713044Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-13T10:36:10.7713135Z               "line": 215
2026-06-13T10:36:10.7713215Z             },
2026-06-13T10:36:10.7713301Z             {
2026-06-13T10:36:10.7713420Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-13T10:36:10.7713510Z               "line": 140
2026-06-13T10:36:10.7713591Z             },
2026-06-13T10:36:10.7713674Z             {
2026-06-13T10:36:10.7713792Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-13T10:36:10.7713892Z               "line": 162
2026-06-13T10:36:10.7713979Z             }
2026-06-13T10:36:10.7714059Z           ]
2026-06-13T10:36:10.7714144Z         }
2026-06-13T10:36:10.7714230Z       }
2026-06-13T10:36:10.7714308Z     },
2026-06-13T10:36:10.7714397Z     {
2026-06-13T10:36:10.7714512Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-13T10:36:10.7714670Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-13T10:36:10.7714870Z       "requiredStages": [
2026-06-13T10:36:10.7714962Z         "impl",
2026-06-13T10:36:10.7715050Z         "unit"
2026-06-13T10:36:10.7715131Z       ],
2026-06-13T10:36:10.7715216Z       "stages": {
2026-06-13T10:36:10.7715302Z         "doc": {
2026-06-13T10:36:10.7715395Z           "complete": false,
2026-06-13T10:36:10.7715485Z           "evidence": []
2026-06-13T10:36:10.7715567Z         },
2026-06-13T10:36:10.7715654Z         "impl": {
2026-06-13T10:36:10.7715744Z           "complete": true,
2026-06-13T10:36:10.7715834Z           "evidence": [
2026-06-13T10:36:10.7716016Z             {
2026-06-13T10:36:10.7716134Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T10:36:10.7716222Z               "line": 95
2026-06-13T10:36:10.7716311Z             },
2026-06-13T10:36:10.7716396Z             {
2026-06-13T10:36:10.7716502Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.7716592Z               "line": 102
2026-06-13T10:36:10.7716678Z             }
2026-06-13T10:36:10.7716768Z           ]
2026-06-13T10:36:10.7716851Z         },
2026-06-13T10:36:10.7716936Z         "int": {
2026-06-13T10:36:10.7717031Z           "complete": false,
2026-06-13T10:36:10.7717117Z           "evidence": []
2026-06-13T10:36:10.7717199Z         },
2026-06-13T10:36:10.7717279Z         "unit": {
2026-06-13T10:36:10.7717369Z           "complete": true,
2026-06-13T10:36:10.7717456Z           "evidence": [
2026-06-13T10:36:10.7717542Z             {
2026-06-13T10:36:10.7717655Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T10:36:10.7717757Z               "line": 250
2026-06-13T10:36:10.7717838Z             },
2026-06-13T10:36:10.7717918Z             {
2026-06-13T10:36:10.7718035Z               "path": "crates/spt-store/src/proc.rs",
2026-06-13T10:36:10.7718127Z               "line": 198
2026-06-13T10:36:10.7718213Z             },
2026-06-13T10:36:10.7718294Z             {
2026-06-13T10:36:10.7718403Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.7718499Z               "line": 459
2026-06-13T10:36:10.7718580Z             },
2026-06-13T10:36:10.7718669Z             {
2026-06-13T10:36:10.7718771Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.7718862Z               "line": 492
2026-06-13T10:36:10.7719047Z             }
2026-06-13T10:36:10.7719124Z           ]
2026-06-13T10:36:10.7719204Z         }
2026-06-13T10:36:10.7719285Z       }
2026-06-13T10:36:10.7719366Z     },
2026-06-13T10:36:10.7719448Z     {
2026-06-13T10:36:10.7719552Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-13T10:36:10.7719739Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-13T10:36:10.7719834Z       "requiredStages": [
2026-06-13T10:36:10.7719915Z         "impl",
2026-06-13T10:36:10.7719996Z         "unit"
2026-06-13T10:36:10.7720083Z       ],
2026-06-13T10:36:10.7720167Z       "stages": {
2026-06-13T10:36:10.7720252Z         "doc": {
2026-06-13T10:36:10.7720357Z           "complete": false,
2026-06-13T10:36:10.7720447Z           "evidence": []
2026-06-13T10:36:10.7720536Z         },
2026-06-13T10:36:10.7720622Z         "impl": {
2026-06-13T10:36:10.7720712Z           "complete": true,
2026-06-13T10:36:10.7720800Z           "evidence": [
2026-06-13T10:36:10.7720883Z             {
2026-06-13T10:36:10.7720999Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7721089Z               "line": 262
2026-06-13T10:36:10.7721175Z             },
2026-06-13T10:36:10.7721251Z             {
2026-06-13T10:36:10.7721367Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7721457Z               "line": 307
2026-06-13T10:36:10.7721546Z             },
2026-06-13T10:36:10.7721629Z             {
2026-06-13T10:36:10.7721738Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7721828Z               "line": 319
2026-06-13T10:36:10.7721909Z             }
2026-06-13T10:36:10.7721991Z           ]
2026-06-13T10:36:10.7722181Z         },
2026-06-13T10:36:10.7722263Z         "int": {
2026-06-13T10:36:10.7722358Z           "complete": false,
2026-06-13T10:36:10.7722448Z           "evidence": []
2026-06-13T10:36:10.7722529Z         },
2026-06-13T10:36:10.7722611Z         "unit": {
2026-06-13T10:36:10.7722706Z           "complete": true,
2026-06-13T10:36:10.7722792Z           "evidence": [
2026-06-13T10:36:10.7722873Z             {
2026-06-13T10:36:10.7722979Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7723067Z               "line": 455
2026-06-13T10:36:10.7723153Z             },
2026-06-13T10:36:10.7723324Z             {
2026-06-13T10:36:10.7723436Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7723527Z               "line": 499
2026-06-13T10:36:10.7723604Z             }
2026-06-13T10:36:10.7723681Z           ]
2026-06-13T10:36:10.7723755Z         }
2026-06-13T10:36:10.7723827Z       }
2026-06-13T10:36:10.7723905Z     },
2026-06-13T10:36:10.7723990Z     {
2026-06-13T10:36:10.7724089Z       "id": "REQ-INFRA-1",
2026-06-13T10:36:10.7724267Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-13T10:36:10.7724366Z       "requiredStages": [],
2026-06-13T10:36:10.7724442Z       "stages": {
2026-06-13T10:36:10.7724524Z         "doc": {
2026-06-13T10:36:10.7724600Z           "complete": false,
2026-06-13T10:36:10.7724691Z           "evidence": []
2026-06-13T10:36:10.7724762Z         },
2026-06-13T10:36:10.7724849Z         "impl": {
2026-06-13T10:36:10.7724943Z           "complete": false,
2026-06-13T10:36:10.7725029Z           "evidence": []
2026-06-13T10:36:10.7725115Z         },
2026-06-13T10:36:10.7725192Z         "int": {
2026-06-13T10:36:10.7725286Z           "complete": false,
2026-06-13T10:36:10.7725363Z           "evidence": []
2026-06-13T10:36:10.7725440Z         },
2026-06-13T10:36:10.7725522Z         "unit": {
2026-06-13T10:36:10.7725610Z           "complete": false,
2026-06-13T10:36:10.7725705Z           "evidence": []
2026-06-13T10:36:10.7725791Z         }
2026-06-13T10:36:10.7725872Z       }
2026-06-13T10:36:10.7725946Z     },
2026-06-13T10:36:10.7726032Z     {
2026-06-13T10:36:10.7726122Z       "id": "REQ-INST-1",
2026-06-13T10:36:10.7726275Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-13T10:36:10.7726374Z       "requiredStages": [],
2026-06-13T10:36:10.7726447Z       "stages": {
2026-06-13T10:36:10.7726533Z         "doc": {
2026-06-13T10:36:10.7726623Z           "complete": false,
2026-06-13T10:36:10.7726699Z           "evidence": []
2026-06-13T10:36:10.7726777Z         },
2026-06-13T10:36:10.7726857Z         "impl": {
2026-06-13T10:36:10.7726956Z           "complete": false,
2026-06-13T10:36:10.7727043Z           "evidence": []
2026-06-13T10:36:10.7727129Z         },
2026-06-13T10:36:10.7727205Z         "int": {
2026-06-13T10:36:10.7727305Z           "complete": false,
2026-06-13T10:36:10.7727386Z           "evidence": []
2026-06-13T10:36:10.7727463Z         },
2026-06-13T10:36:10.7727548Z         "unit": {
2026-06-13T10:36:10.7727639Z           "complete": false,
2026-06-13T10:36:10.7727726Z           "evidence": []
2026-06-13T10:36:10.7727806Z         }
2026-06-13T10:36:10.7727882Z       }
2026-06-13T10:36:10.7727963Z     },
2026-06-13T10:36:10.7728036Z     {
2026-06-13T10:36:10.7728121Z       "id": "REQ-INST-10",
2026-06-13T10:36:10.7728327Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-13T10:36:10.7728412Z       "requiredStages": [
2026-06-13T10:36:10.7728496Z         "impl",
2026-06-13T10:36:10.7728581Z         "unit"
2026-06-13T10:36:10.7728667Z       ],
2026-06-13T10:36:10.7728750Z       "stages": {
2026-06-13T10:36:10.7728835Z         "doc": {
2026-06-13T10:36:10.7728924Z           "complete": false,
2026-06-13T10:36:10.7729112Z           "evidence": []
2026-06-13T10:36:10.7729192Z         },
2026-06-13T10:36:10.7729283Z         "impl": {
2026-06-13T10:36:10.7729369Z           "complete": true,
2026-06-13T10:36:10.7729445Z           "evidence": [
2026-06-13T10:36:10.7729616Z             {
2026-06-13T10:36:10.7729746Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7729831Z               "line": 600
2026-06-13T10:36:10.7729912Z             },
2026-06-13T10:36:10.7729994Z             {
2026-06-13T10:36:10.7730117Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7730198Z               "line": 677
2026-06-13T10:36:10.7730281Z             },
2026-06-13T10:36:10.7730361Z             {
2026-06-13T10:36:10.7730470Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-13T10:36:10.7730666Z               "line": 13
2026-06-13T10:36:10.7730746Z             },
2026-06-13T10:36:10.7730836Z             {
2026-06-13T10:36:10.7730932Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-13T10:36:10.7731017Z               "line": 67
2026-06-13T10:36:10.7731101Z             },
2026-06-13T10:36:10.7731182Z             {
2026-06-13T10:36:10.7731287Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T10:36:10.7731378Z               "line": 18
2026-06-13T10:36:10.7731463Z             },
2026-06-13T10:36:10.7731544Z             {
2026-06-13T10:36:10.7731645Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T10:36:10.7731731Z               "line": 444
2026-06-13T10:36:10.7731825Z             }
2026-06-13T10:36:10.7731893Z           ]
2026-06-13T10:36:10.7731974Z         },
2026-06-13T10:36:10.7732059Z         "int": {
2026-06-13T10:36:10.7732145Z           "complete": false,
2026-06-13T10:36:10.7732227Z           "evidence": []
2026-06-13T10:36:10.7732312Z         },
2026-06-13T10:36:10.7732402Z         "unit": {
2026-06-13T10:36:10.7732488Z           "complete": true,
2026-06-13T10:36:10.7732594Z           "evidence": [
2026-06-13T10:36:10.7732684Z             {
2026-06-13T10:36:10.7732798Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7732885Z               "line": 883
2026-06-13T10:36:10.7732965Z             },
2026-06-13T10:36:10.7733056Z             {
2026-06-13T10:36:10.7733171Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7733266Z               "line": 1212
2026-06-13T10:36:10.7733352Z             },
2026-06-13T10:36:10.7733428Z             {
2026-06-13T10:36:10.7733539Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7733628Z               "line": 1223
2026-06-13T10:36:10.7733703Z             },
2026-06-13T10:36:10.7733789Z             {
2026-06-13T10:36:10.7733899Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7733982Z               "line": 1239
2026-06-13T10:36:10.7734072Z             },
2026-06-13T10:36:10.7734154Z             {
2026-06-13T10:36:10.7734264Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7734354Z               "line": 1255
2026-06-13T10:36:10.7734440Z             },
2026-06-13T10:36:10.7734512Z             {
2026-06-13T10:36:10.7734635Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7734721Z               "line": 1277
2026-06-13T10:36:10.7734808Z             },
2026-06-13T10:36:10.7734879Z             {
2026-06-13T10:36:10.7734997Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7735084Z               "line": 1582
2026-06-13T10:36:10.7735170Z             },
2026-06-13T10:36:10.7735251Z             {
2026-06-13T10:36:10.7735346Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-13T10:36:10.7735447Z               "line": 130
2026-06-13T10:36:10.7735532Z             },
2026-06-13T10:36:10.7735613Z             {
2026-06-13T10:36:10.7735733Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-13T10:36:10.7735823Z               "line": 167
2026-06-13T10:36:10.7735913Z             },
2026-06-13T10:36:10.7735990Z             {
2026-06-13T10:36:10.7736110Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-13T10:36:10.7736194Z               "line": 175
2026-06-13T10:36:10.7736279Z             },
2026-06-13T10:36:10.7736441Z             {
2026-06-13T10:36:10.7736554Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-13T10:36:10.7736644Z               "line": 183
2026-06-13T10:36:10.7736726Z             },
2026-06-13T10:36:10.7736807Z             {
2026-06-13T10:36:10.7736911Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T10:36:10.7737002Z               "line": 895
2026-06-13T10:36:10.7737088Z             }
2026-06-13T10:36:10.7737173Z           ]
2026-06-13T10:36:10.7737259Z         }
2026-06-13T10:36:10.7737342Z       }
2026-06-13T10:36:10.7737422Z     },
2026-06-13T10:36:10.7737574Z     {
2026-06-13T10:36:10.7737671Z       "id": "REQ-INST-11",
2026-06-13T10:36:10.7737879Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-13T10:36:10.7737981Z       "requiredStages": [
2026-06-13T10:36:10.7738065Z         "impl",
2026-06-13T10:36:10.7738146Z         "unit"
2026-06-13T10:36:10.7738232Z       ],
2026-06-13T10:36:10.7738329Z       "stages": {
2026-06-13T10:36:10.7738418Z         "doc": {
2026-06-13T10:36:10.7738514Z           "complete": false,
2026-06-13T10:36:10.7738600Z           "evidence": []
2026-06-13T10:36:10.7738681Z         },
2026-06-13T10:36:10.7738771Z         "impl": {
2026-06-13T10:36:10.7738867Z           "complete": true,
2026-06-13T10:36:10.7739038Z           "evidence": [
2026-06-13T10:36:10.7739118Z             {
2026-06-13T10:36:10.7739247Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7739338Z               "line": 466
2026-06-13T10:36:10.7739442Z             },
2026-06-13T10:36:10.7739533Z             {
2026-06-13T10:36:10.7739667Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.7739752Z               "line": 297
2026-06-13T10:36:10.7739833Z             },
2026-06-13T10:36:10.7739915Z             {
2026-06-13T10:36:10.7740029Z               "path": "crates/spt-store/src/rename.rs",
2026-06-13T10:36:10.7740119Z               "line": 59
2026-06-13T10:36:10.7740206Z             },
2026-06-13T10:36:10.7740291Z             {
2026-06-13T10:36:10.7740400Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7740492Z               "line": 4284
2026-06-13T10:36:10.7740582Z             },
2026-06-13T10:36:10.7740663Z             {
2026-06-13T10:36:10.7740763Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7740855Z               "line": 5502
2026-06-13T10:36:10.7740940Z             }
2026-06-13T10:36:10.7741015Z           ]
2026-06-13T10:36:10.7741102Z         },
2026-06-13T10:36:10.7741189Z         "int": {
2026-06-13T10:36:10.7741282Z           "complete": false,
2026-06-13T10:36:10.7741372Z           "evidence": []
2026-06-13T10:36:10.7741453Z         },
2026-06-13T10:36:10.7741544Z         "unit": {
2026-06-13T10:36:10.7741637Z           "complete": true,
2026-06-13T10:36:10.7741727Z           "evidence": [
2026-06-13T10:36:10.7741814Z             {
2026-06-13T10:36:10.7741929Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7742027Z               "line": 1382
2026-06-13T10:36:10.7742114Z             },
2026-06-13T10:36:10.7742201Z             {
2026-06-13T10:36:10.7742314Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7742409Z               "line": 1415
2026-06-13T10:36:10.7742496Z             },
2026-06-13T10:36:10.7742577Z             {
2026-06-13T10:36:10.7742700Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.7742787Z               "line": 527
2026-06-13T10:36:10.7742872Z             },
2026-06-13T10:36:10.7742958Z             {
2026-06-13T10:36:10.7743073Z               "path": "crates/spt-store/src/rename.rs",
2026-06-13T10:36:10.7743163Z               "line": 160
2026-06-13T10:36:10.7743244Z             },
2026-06-13T10:36:10.7743325Z             {
2026-06-13T10:36:10.7743436Z               "path": "crates/spt-store/src/rename.rs",
2026-06-13T10:36:10.7743526Z               "line": 190
2026-06-13T10:36:10.7743722Z             },
2026-06-13T10:36:10.7743803Z             {
2026-06-13T10:36:10.7743917Z               "path": "crates/spt-store/src/rename.rs",
2026-06-13T10:36:10.7744003Z               "line": 225
2026-06-13T10:36:10.7744089Z             },
2026-06-13T10:36:10.7744169Z             {
2026-06-13T10:36:10.7744277Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7744364Z               "line": 5841
2026-06-13T10:36:10.7744444Z             }
2026-06-13T10:36:10.7744528Z           ]
2026-06-13T10:36:10.7744614Z         }
2026-06-13T10:36:10.7744700Z       }
2026-06-13T10:36:10.7744781Z     },
2026-06-13T10:36:10.7744957Z     {
2026-06-13T10:36:10.7745058Z       "id": "REQ-INST-12",
2026-06-13T10:36:10.7745339Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-13T10:36:10.7745434Z       "requiredStages": [
2026-06-13T10:36:10.7745519Z         "impl",
2026-06-13T10:36:10.7745601Z         "unit"
2026-06-13T10:36:10.7745692Z       ],
2026-06-13T10:36:10.7745777Z       "stages": {
2026-06-13T10:36:10.7745858Z         "doc": {
2026-06-13T10:36:10.7745945Z           "complete": false,
2026-06-13T10:36:10.7746036Z           "evidence": []
2026-06-13T10:36:10.7746115Z         },
2026-06-13T10:36:10.7746202Z         "impl": {
2026-06-13T10:36:10.7746288Z           "complete": true,
2026-06-13T10:36:10.7746383Z           "evidence": [
2026-06-13T10:36:10.7746459Z             {
2026-06-13T10:36:10.7746565Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7746651Z               "line": 518
2026-06-13T10:36:10.7746745Z             },
2026-06-13T10:36:10.7746821Z             {
2026-06-13T10:36:10.7746935Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7747025Z               "line": 611
2026-06-13T10:36:10.7747109Z             },
2026-06-13T10:36:10.7747180Z             {
2026-06-13T10:36:10.7747300Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7747381Z               "line": 691
2026-06-13T10:36:10.7747462Z             },
2026-06-13T10:36:10.7747538Z             {
2026-06-13T10:36:10.7747653Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T10:36:10.7747743Z               "line": 96
2026-06-13T10:36:10.7747824Z             },
2026-06-13T10:36:10.7747906Z             {
2026-06-13T10:36:10.7748016Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T10:36:10.7748105Z               "line": 269
2026-06-13T10:36:10.7748173Z             },
2026-06-13T10:36:10.7748250Z             {
2026-06-13T10:36:10.7748359Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-13T10:36:10.7748449Z               "line": 135
2026-06-13T10:36:10.7748531Z             }
2026-06-13T10:36:10.7748611Z           ]
2026-06-13T10:36:10.7748688Z         },
2026-06-13T10:36:10.7748773Z         "int": {
2026-06-13T10:36:10.7748865Z           "complete": false,
2026-06-13T10:36:10.7749026Z           "evidence": []
2026-06-13T10:36:10.7749097Z         },
2026-06-13T10:36:10.7749180Z         "unit": {
2026-06-13T10:36:10.7749297Z           "complete": true,
2026-06-13T10:36:10.7749437Z           "evidence": [
2026-06-13T10:36:10.7749547Z             {
2026-06-13T10:36:10.7749711Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7749831Z               "line": 1457
2026-06-13T10:36:10.7749936Z             },
2026-06-13T10:36:10.7750054Z             {
2026-06-13T10:36:10.7750222Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7750350Z               "line": 1480
2026-06-13T10:36:10.7750452Z             },
2026-06-13T10:36:10.7750580Z             {
2026-06-13T10:36:10.7750746Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7750866Z               "line": 1517
2026-06-13T10:36:10.7750970Z             },
2026-06-13T10:36:10.7751052Z             {
2026-06-13T10:36:10.7751171Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T10:36:10.7751372Z               "line": 457
2026-06-13T10:36:10.7751448Z             },
2026-06-13T10:36:10.7751528Z             {
2026-06-13T10:36:10.7751643Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-13T10:36:10.7751735Z               "line": 172
2026-06-13T10:36:10.7751815Z             },
2026-06-13T10:36:10.7751895Z             {
2026-06-13T10:36:10.7752013Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-13T10:36:10.7752094Z               "line": 193
2026-06-13T10:36:10.7752179Z             },
2026-06-13T10:36:10.7752254Z             {
2026-06-13T10:36:10.7752374Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-13T10:36:10.7752560Z               "line": 219
2026-06-13T10:36:10.7752645Z             }
2026-06-13T10:36:10.7752727Z           ]
2026-06-13T10:36:10.7752808Z         }
2026-06-13T10:36:10.7752889Z       }
2026-06-13T10:36:10.7752965Z     },
2026-06-13T10:36:10.7753047Z     {
2026-06-13T10:36:10.7753137Z       "id": "REQ-INST-13",
2026-06-13T10:36:10.7753329Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-13T10:36:10.7753423Z       "requiredStages": [
2026-06-13T10:36:10.7753504Z         "impl",
2026-06-13T10:36:10.7753599Z         "unit"
2026-06-13T10:36:10.7753667Z       ],
2026-06-13T10:36:10.7753752Z       "stages": {
2026-06-13T10:36:10.7753828Z         "doc": {
2026-06-13T10:36:10.7753924Z           "complete": false,
2026-06-13T10:36:10.7754015Z           "evidence": []
2026-06-13T10:36:10.7754090Z         },
2026-06-13T10:36:10.7754181Z         "impl": {
2026-06-13T10:36:10.7754268Z           "complete": true,
2026-06-13T10:36:10.7754363Z           "evidence": [
2026-06-13T10:36:10.7754442Z             {
2026-06-13T10:36:10.7754563Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T10:36:10.7754654Z               "line": 100
2026-06-13T10:36:10.7754729Z             },
2026-06-13T10:36:10.7754814Z             {
2026-06-13T10:36:10.7754933Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-13T10:36:10.7755027Z               "line": 158
2026-06-13T10:36:10.7755112Z             }
2026-06-13T10:36:10.7755193Z           ]
2026-06-13T10:36:10.7755279Z         },
2026-06-13T10:36:10.7755361Z         "int": {
2026-06-13T10:36:10.7755455Z           "complete": false,
2026-06-13T10:36:10.7755541Z           "evidence": []
2026-06-13T10:36:10.7755628Z         },
2026-06-13T10:36:10.7755718Z         "unit": {
2026-06-13T10:36:10.7755812Z           "complete": true,
2026-06-13T10:36:10.7755899Z           "evidence": [
2026-06-13T10:36:10.7755980Z             {
2026-06-13T10:36:10.7756103Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-13T10:36:10.7756200Z               "line": 248
2026-06-13T10:36:10.7756286Z             },
2026-06-13T10:36:10.7756367Z             {
2026-06-13T10:36:10.7756485Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-13T10:36:10.7756577Z               "line": 266
2026-06-13T10:36:10.7756656Z             }
2026-06-13T10:36:10.7756752Z           ]
2026-06-13T10:36:10.7756835Z         }
2026-06-13T10:36:10.7756925Z       }
2026-06-13T10:36:10.7756999Z     },
2026-06-13T10:36:10.7757086Z     {
2026-06-13T10:36:10.7757178Z       "id": "REQ-INST-14",
2026-06-13T10:36:10.7757538Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-13T10:36:10.7757641Z       "requiredStages": [
2026-06-13T10:36:10.7757721Z         "doc",
2026-06-13T10:36:10.7757807Z         "impl",
2026-06-13T10:36:10.7757889Z         "unit"
2026-06-13T10:36:10.7757974Z       ],
2026-06-13T10:36:10.7758064Z       "stages": {
2026-06-13T10:36:10.7758147Z         "doc": {
2026-06-13T10:36:10.7758237Z           "complete": true,
2026-06-13T10:36:10.7758322Z           "evidence": [
2026-06-13T10:36:10.7758408Z             {
2026-06-13T10:36:10.7758504Z               "path": "CONTEXT.md",
2026-06-13T10:36:10.7758595Z               "line": 476
2026-06-13T10:36:10.7758781Z             },
2026-06-13T10:36:10.7758866Z             {
2026-06-13T10:36:10.7759052Z               "path": "docs/STORAGE.md",
2026-06-13T10:36:10.7759134Z               "line": 49
2026-06-13T10:36:10.7759219Z             }
2026-06-13T10:36:10.7759314Z           ]
2026-06-13T10:36:10.7759401Z         },
2026-06-13T10:36:10.7759491Z         "impl": {
2026-06-13T10:36:10.7759581Z           "complete": true,
2026-06-13T10:36:10.7759677Z           "evidence": [
2026-06-13T10:36:10.7759754Z             {
2026-06-13T10:36:10.7759891Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7760074Z               "line": 388
2026-06-13T10:36:10.7760163Z             },
2026-06-13T10:36:10.7760248Z             {
2026-06-13T10:36:10.7760367Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7760459Z               "line": 330
2026-06-13T10:36:10.7760543Z             },
2026-06-13T10:36:10.7760624Z             {
2026-06-13T10:36:10.7760730Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T10:36:10.7760830Z               "line": 211
2026-06-13T10:36:10.7760920Z             },
2026-06-13T10:36:10.7761002Z             {
2026-06-13T10:36:10.7761106Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7761196Z               "line": 1104
2026-06-13T10:36:10.7761278Z             }
2026-06-13T10:36:10.7761360Z           ]
2026-06-13T10:36:10.7761440Z         },
2026-06-13T10:36:10.7761525Z         "int": {
2026-06-13T10:36:10.7761617Z           "complete": false,
2026-06-13T10:36:10.7761712Z           "evidence": []
2026-06-13T10:36:10.7761788Z         },
2026-06-13T10:36:10.7761888Z         "unit": {
2026-06-13T10:36:10.7761975Z           "complete": true,
2026-06-13T10:36:10.7762065Z           "evidence": [
2026-06-13T10:36:10.7762145Z             {
2026-06-13T10:36:10.7762275Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7762365Z               "line": 1081
2026-06-13T10:36:10.7762446Z             },
2026-06-13T10:36:10.7762535Z             {
2026-06-13T10:36:10.7762655Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7762743Z               "line": 895
2026-06-13T10:36:10.7762828Z             },
2026-06-13T10:36:10.7762905Z             {
2026-06-13T10:36:10.7763025Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7763110Z               "line": 1153
2026-06-13T10:36:10.7763201Z             },
2026-06-13T10:36:10.7763282Z             {
2026-06-13T10:36:10.7763396Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T10:36:10.7763486Z               "line": 463
2026-06-13T10:36:10.7763574Z             },
2026-06-13T10:36:10.7763654Z             {
2026-06-13T10:36:10.7763754Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7763850Z               "line": 5917
2026-06-13T10:36:10.7763931Z             }
2026-06-13T10:36:10.7764012Z           ]
2026-06-13T10:36:10.7764102Z         }
2026-06-13T10:36:10.7764178Z       }
2026-06-13T10:36:10.7764269Z     },
2026-06-13T10:36:10.7764350Z     {
2026-06-13T10:36:10.7764445Z       "id": "REQ-INST-15",
2026-06-13T10:36:10.7765128Z       "title": "Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)",
2026-06-13T10:36:10.7765238Z       "requiredStages": [
2026-06-13T10:36:10.7765322Z         "doc",
2026-06-13T10:36:10.7765402Z         "impl",
2026-06-13T10:36:10.7765494Z         "unit"
2026-06-13T10:36:10.7765583Z       ],
2026-06-13T10:36:10.7768301Z       "stages": {
2026-06-13T10:36:10.7768406Z         "doc": {
2026-06-13T10:36:10.7768502Z           "complete": true,
2026-06-13T10:36:10.7768582Z           "evidence": [
2026-06-13T10:36:10.7768668Z             {
2026-06-13T10:36:10.7768863Z               "path": "docs/adr/0010-immutable-home-subnet-fork-not-rehome.md",
2026-06-13T10:36:10.7769188Z               "line": 3
2026-06-13T10:36:10.7769283Z             }
2026-06-13T10:36:10.7769365Z           ]
2026-06-13T10:36:10.7769450Z         },
2026-06-13T10:36:10.7769535Z         "impl": {
2026-06-13T10:36:10.7769627Z           "complete": true,
2026-06-13T10:36:10.7769699Z           "evidence": [
2026-06-13T10:36:10.7769784Z             {
2026-06-13T10:36:10.7769912Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7770004Z               "line": 337
2026-06-13T10:36:10.7770084Z             },
2026-06-13T10:36:10.7770165Z             {
2026-06-13T10:36:10.7770376Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-13T10:36:10.7770466Z               "line": 60
2026-06-13T10:36:10.7770547Z             },
2026-06-13T10:36:10.7770629Z             {
2026-06-13T10:36:10.7770760Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.7770846Z               "line": 368
2026-06-13T10:36:10.7770927Z             },
2026-06-13T10:36:10.7771019Z             {
2026-06-13T10:36:10.7771141Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.7771223Z               "line": 417
2026-06-13T10:36:10.7771309Z             },
2026-06-13T10:36:10.7771390Z             {
2026-06-13T10:36:10.7771499Z               "path": "crates/spt-store/src/home.rs",
2026-06-13T10:36:10.7771586Z               "line": 19
2026-06-13T10:36:10.7771666Z             },
2026-06-13T10:36:10.7771751Z             {
2026-06-13T10:36:10.7771852Z               "path": "crates/spt-store/src/home.rs",
2026-06-13T10:36:10.7771939Z               "line": 70
2026-06-13T10:36:10.7772024Z             },
2026-06-13T10:36:10.7772109Z             {
2026-06-13T10:36:10.7772215Z               "path": "crates/spt-store/src/home.rs",
2026-06-13T10:36:10.7772300Z               "line": 96
2026-06-13T10:36:10.7772381Z             },
2026-06-13T10:36:10.7772458Z             {
2026-06-13T10:36:10.7772559Z               "path": "crates/spt-store/src/home.rs",
2026-06-13T10:36:10.7772648Z               "line": 121
2026-06-13T10:36:10.7772729Z             },
2026-06-13T10:36:10.7772811Z             {
2026-06-13T10:36:10.7772916Z               "path": "crates/spt-store/src/home.rs",
2026-06-13T10:36:10.7773001Z               "line": 172
2026-06-13T10:36:10.7773081Z             },
2026-06-13T10:36:10.7773167Z             {
2026-06-13T10:36:10.7773271Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.7773361Z               "line": 146
2026-06-13T10:36:10.7773441Z             },
2026-06-13T10:36:10.7773527Z             {
2026-06-13T10:36:10.7773637Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7773731Z               "line": 996
2026-06-13T10:36:10.7773809Z             }
2026-06-13T10:36:10.7773895Z           ]
2026-06-13T10:36:10.7773980Z         },
2026-06-13T10:36:10.7774060Z         "int": {
2026-06-13T10:36:10.7774153Z           "complete": false,
2026-06-13T10:36:10.7774243Z           "evidence": []
2026-06-13T10:36:10.7774333Z         },
2026-06-13T10:36:10.7774414Z         "unit": {
2026-06-13T10:36:10.7774496Z           "complete": true,
2026-06-13T10:36:10.7774581Z           "evidence": [
2026-06-13T10:36:10.7774662Z             {
2026-06-13T10:36:10.7774787Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.7774872Z               "line": 577
2026-06-13T10:36:10.7774953Z             },
2026-06-13T10:36:10.7775024Z             {
2026-06-13T10:36:10.7775149Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.7775234Z               "line": 638
2026-06-13T10:36:10.7775320Z             },
2026-06-13T10:36:10.7775402Z             {
2026-06-13T10:36:10.7775511Z               "path": "crates/spt-store/src/home.rs",
2026-06-13T10:36:10.7775592Z               "line": 213
2026-06-13T10:36:10.7775674Z             },
2026-06-13T10:36:10.7775765Z             {
2026-06-13T10:36:10.7775868Z               "path": "crates/spt-store/src/home.rs",
2026-06-13T10:36:10.7776044Z               "line": 249
2026-06-13T10:36:10.7776119Z             },
2026-06-13T10:36:10.7776204Z             {
2026-06-13T10:36:10.7776303Z               "path": "crates/spt-store/src/home.rs",
2026-06-13T10:36:10.7776381Z               "line": 262
2026-06-13T10:36:10.7776467Z             },
2026-06-13T10:36:10.7776547Z             {
2026-06-13T10:36:10.7776656Z               "path": "crates/spt-store/src/home.rs",
2026-06-13T10:36:10.7776738Z               "line": 338
2026-06-13T10:36:10.7776824Z             },
2026-06-13T10:36:10.7776909Z             {
2026-06-13T10:36:10.7777015Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.7777172Z               "line": 513
2026-06-13T10:36:10.7777257Z             },
2026-06-13T10:36:10.7777339Z             {
2026-06-13T10:36:10.7777444Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7777529Z               "line": 5854
2026-06-13T10:36:10.7777615Z             },
2026-06-13T10:36:10.7777697Z             {
2026-06-13T10:36:10.7777805Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7777887Z               "line": 7419
2026-06-13T10:36:10.7777969Z             }
2026-06-13T10:36:10.7778050Z           ]
2026-06-13T10:36:10.7778134Z         }
2026-06-13T10:36:10.7778216Z       }
2026-06-13T10:36:10.7778294Z     },
2026-06-13T10:36:10.7778374Z     {
2026-06-13T10:36:10.7778463Z       "id": "REQ-INST-2",
2026-06-13T10:36:10.7778587Z       "title": "Per-node files, synced Psyche mind",
2026-06-13T10:36:10.7778677Z       "requiredStages": [
2026-06-13T10:36:10.7778756Z         "impl",
2026-06-13T10:36:10.7778837Z         "unit"
2026-06-13T10:36:10.7778914Z       ],
2026-06-13T10:36:10.7779081Z       "stages": {
2026-06-13T10:36:10.7779161Z         "doc": {
2026-06-13T10:36:10.7779252Z           "complete": false,
2026-06-13T10:36:10.7779347Z           "evidence": []
2026-06-13T10:36:10.7779442Z         },
2026-06-13T10:36:10.7779519Z         "impl": {
2026-06-13T10:36:10.7779615Z           "complete": true,
2026-06-13T10:36:10.7779710Z           "evidence": [
2026-06-13T10:36:10.7779785Z             {
2026-06-13T10:36:10.7779906Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7779986Z               "line": 88
2026-06-13T10:36:10.7780067Z             },
2026-06-13T10:36:10.7780149Z             {
2026-06-13T10:36:10.7780250Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-13T10:36:10.7780329Z               "line": 28
2026-06-13T10:36:10.7780410Z             },
2026-06-13T10:36:10.7780492Z             {
2026-06-13T10:36:10.7780593Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-13T10:36:10.7780687Z               "line": 74
2026-06-13T10:36:10.7780763Z             },
2026-06-13T10:36:10.7780846Z             {
2026-06-13T10:36:10.7780954Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-13T10:36:10.7781036Z               "line": 96
2026-06-13T10:36:10.7781112Z             },
2026-06-13T10:36:10.7781194Z             {
2026-06-13T10:36:10.7781306Z               "path": "crates/spt-live/src/resume.rs",
2026-06-13T10:36:10.7781387Z               "line": 86
2026-06-13T10:36:10.7781463Z             },
2026-06-13T10:36:10.7781545Z             {
2026-06-13T10:36:10.7781654Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-13T10:36:10.7781744Z               "line": 118
2026-06-13T10:36:10.7781826Z             }
2026-06-13T10:36:10.7781902Z           ]
2026-06-13T10:36:10.7781983Z         },
2026-06-13T10:36:10.7782059Z         "int": {
2026-06-13T10:36:10.7782156Z           "complete": false,
2026-06-13T10:36:10.7782236Z           "evidence": []
2026-06-13T10:36:10.7782326Z         },
2026-06-13T10:36:10.7782403Z         "unit": {
2026-06-13T10:36:10.7782494Z           "complete": true,
2026-06-13T10:36:10.7782579Z           "evidence": [
2026-06-13T10:36:10.7782660Z             {
2026-06-13T10:36:10.7782766Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-13T10:36:10.7782837Z               "line": 250
2026-06-13T10:36:10.7783027Z             },
2026-06-13T10:36:10.7783100Z             {
2026-06-13T10:36:10.7783203Z               "path": "crates/spt-live/src/resume.rs",
2026-06-13T10:36:10.7783299Z               "line": 272
2026-06-13T10:36:10.7783371Z             }
2026-06-13T10:36:10.7783449Z           ]
2026-06-13T10:36:10.7783523Z         }
2026-06-13T10:36:10.7783599Z       }
2026-06-13T10:36:10.7783679Z     },
2026-06-13T10:36:10.7783756Z     {
2026-06-13T10:36:10.7783845Z       "id": "REQ-INST-3",
2026-06-13T10:36:10.7783996Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-13T10:36:10.7784092Z       "requiredStages": [
2026-06-13T10:36:10.7784278Z         "doc",
2026-06-13T10:36:10.7784364Z         "impl",
2026-06-13T10:36:10.7784446Z         "unit"
2026-06-13T10:36:10.7784535Z       ],
2026-06-13T10:36:10.7784625Z       "stages": {
2026-06-13T10:36:10.7784704Z         "doc": {
2026-06-13T10:36:10.7784798Z           "complete": true,
2026-06-13T10:36:10.7784878Z           "evidence": [
2026-06-13T10:36:10.7784975Z             {
2026-06-13T10:36:10.7785084Z               "path": "docs/DORMANCY-BUDGET.md",
2026-06-13T10:36:10.7785169Z               "line": 3
2026-06-13T10:36:10.7785255Z             }
2026-06-13T10:36:10.7785338Z           ]
2026-06-13T10:36:10.7785417Z         },
2026-06-13T10:36:10.7785498Z         "impl": {
2026-06-13T10:36:10.7785589Z           "complete": true,
2026-06-13T10:36:10.7785672Z           "evidence": [
2026-06-13T10:36:10.7785756Z             {
2026-06-13T10:36:10.7785875Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-13T10:36:10.7785962Z               "line": 70
2026-06-13T10:36:10.7786052Z             },
2026-06-13T10:36:10.7786133Z             {
2026-06-13T10:36:10.7786253Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T10:36:10.7786344Z               "line": 480
2026-06-13T10:36:10.7786423Z             },
2026-06-13T10:36:10.7786503Z             {
2026-06-13T10:36:10.7786623Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7786721Z               "line": 204
2026-06-13T10:36:10.7786802Z             },
2026-06-13T10:36:10.7786888Z             {
2026-06-13T10:36:10.7787003Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7787083Z               "line": 334
2026-06-13T10:36:10.7787168Z             },
2026-06-13T10:36:10.7787246Z             {
2026-06-13T10:36:10.7787355Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7787445Z               "line": 368
2026-06-13T10:36:10.7787531Z             },
2026-06-13T10:36:10.7787627Z             {
2026-06-13T10:36:10.7787750Z               "path": "crates/spt-daemon/src/pump/sync.rs",
2026-06-13T10:36:10.7787837Z               "line": 74
2026-06-13T10:36:10.7787918Z             },
2026-06-13T10:36:10.7787999Z             {
2026-06-13T10:36:10.7788127Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7788215Z               "line": 218
2026-06-13T10:36:10.7788304Z             },
2026-06-13T10:36:10.7788390Z             {
2026-06-13T10:36:10.7788515Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7788600Z               "line": 374
2026-06-13T10:36:10.7788685Z             },
2026-06-13T10:36:10.7788761Z             {
2026-06-13T10:36:10.7788882Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7789094Z               "line": 45
2026-06-13T10:36:10.7789171Z             },
2026-06-13T10:36:10.7789256Z             {
2026-06-13T10:36:10.7789368Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7789454Z               "line": 114
2026-06-13T10:36:10.7789541Z             },
2026-06-13T10:36:10.7789655Z             {
2026-06-13T10:36:10.7789778Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7789865Z               "line": 152
2026-06-13T10:36:10.7789946Z             },
2026-06-13T10:36:10.7790026Z             {
2026-06-13T10:36:10.7790137Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7790345Z               "line": 168
2026-06-13T10:36:10.7790428Z             },
2026-06-13T10:36:10.7790509Z             {
2026-06-13T10:36:10.7790623Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7790713Z               "line": 178
2026-06-13T10:36:10.7790795Z             },
2026-06-13T10:36:10.7790885Z             {
2026-06-13T10:36:10.7790994Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7791086Z               "line": 210
2026-06-13T10:36:10.7791167Z             },
2026-06-13T10:36:10.7791247Z             {
2026-06-13T10:36:10.7791454Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7791538Z               "line": 287
2026-06-13T10:36:10.7791624Z             },
2026-06-13T10:36:10.7791706Z             {
2026-06-13T10:36:10.7791820Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7791909Z               "line": 311
2026-06-13T10:36:10.7791994Z             },
2026-06-13T10:36:10.7792081Z             {
2026-06-13T10:36:10.7792196Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7792285Z               "line": 389
2026-06-13T10:36:10.7792367Z             },
2026-06-13T10:36:10.7792443Z             {
2026-06-13T10:36:10.7792557Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7792643Z               "line": 438
2026-06-13T10:36:10.7792730Z             },
2026-06-13T10:36:10.7792811Z             {
2026-06-13T10:36:10.7792929Z               "path": "crates/spt-daemon/tests/budget.rs",
2026-06-13T10:36:10.7793030Z               "line": 37
2026-06-13T10:36:10.7793106Z             },
2026-06-13T10:36:10.7793196Z             {
2026-06-13T10:36:10.7793312Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7793398Z               "line": 62
2026-06-13T10:36:10.7793478Z             },
2026-06-13T10:36:10.7793559Z             {
2026-06-13T10:36:10.7793670Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T10:36:10.7793763Z               "line": 190
2026-06-13T10:36:10.7793845Z             },
2026-06-13T10:36:10.7793926Z             {
2026-06-13T10:36:10.7794027Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7794116Z               "line": 1325
2026-06-13T10:36:10.7794197Z             }
2026-06-13T10:36:10.7794282Z           ]
2026-06-13T10:36:10.7794363Z         },
2026-06-13T10:36:10.7794442Z         "int": {
2026-06-13T10:36:10.7794542Z           "complete": false,
2026-06-13T10:36:10.7794633Z           "evidence": []
2026-06-13T10:36:10.7794715Z         },
2026-06-13T10:36:10.7794795Z         "unit": {
2026-06-13T10:36:10.7794886Z           "complete": true,
2026-06-13T10:36:10.7794972Z           "evidence": [
2026-06-13T10:36:10.7795053Z             {
2026-06-13T10:36:10.7795167Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-13T10:36:10.7795259Z               "line": 360
2026-06-13T10:36:10.7795339Z             },
2026-06-13T10:36:10.7795429Z             {
2026-06-13T10:36:10.7795549Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7795630Z               "line": 787
2026-06-13T10:36:10.7795711Z             },
2026-06-13T10:36:10.7795791Z             {
2026-06-13T10:36:10.7795907Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7795987Z               "line": 844
2026-06-13T10:36:10.7796063Z             },
2026-06-13T10:36:10.7796140Z             {
2026-06-13T10:36:10.7796255Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.7796335Z               "line": 889
2026-06-13T10:36:10.7796416Z             },
2026-06-13T10:36:10.7796494Z             {
2026-06-13T10:36:10.7796607Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.7796688Z               "line": 1014
2026-06-13T10:36:10.7796765Z             },
2026-06-13T10:36:10.7796847Z             {
2026-06-13T10:36:10.7796974Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7797135Z               "line": 1182
2026-06-13T10:36:10.7797212Z             },
2026-06-13T10:36:10.7797291Z             {
2026-06-13T10:36:10.7797409Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7797501Z               "line": 1322
2026-06-13T10:36:10.7797582Z             },
2026-06-13T10:36:10.7797667Z             {
2026-06-13T10:36:10.7797767Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7797854Z               "line": 449
2026-06-13T10:36:10.7797930Z             },
2026-06-13T10:36:10.7798005Z             {
2026-06-13T10:36:10.7798192Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7798268Z               "line": 485
2026-06-13T10:36:10.7798358Z             },
2026-06-13T10:36:10.7798435Z             {
2026-06-13T10:36:10.7798554Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7798635Z               "line": 540
2026-06-13T10:36:10.7798726Z             },
2026-06-13T10:36:10.7798803Z             {
2026-06-13T10:36:10.7798916Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7799099Z               "line": 697
2026-06-13T10:36:10.7799174Z             },
2026-06-13T10:36:10.7799254Z             {
2026-06-13T10:36:10.7799366Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7799451Z               "line": 931
2026-06-13T10:36:10.7799531Z             },
2026-06-13T10:36:10.7799611Z             {
2026-06-13T10:36:10.7799721Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7799816Z               "line": 945
2026-06-13T10:36:10.7799891Z             },
2026-06-13T10:36:10.7799976Z             {
2026-06-13T10:36:10.7800096Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7800177Z               "line": 1193
2026-06-13T10:36:10.7800257Z             },
2026-06-13T10:36:10.7800338Z             {
2026-06-13T10:36:10.7800459Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T10:36:10.7800544Z               "line": 413
2026-06-13T10:36:10.7800629Z             },
2026-06-13T10:36:10.7800711Z             {
2026-06-13T10:36:10.7800811Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7800896Z               "line": 5878
2026-06-13T10:36:10.7800978Z             }
2026-06-13T10:36:10.7801059Z           ]
2026-06-13T10:36:10.7801139Z         }
2026-06-13T10:36:10.7801216Z       }
2026-06-13T10:36:10.7801292Z     },
2026-06-13T10:36:10.7801379Z     {
2026-06-13T10:36:10.7801459Z       "id": "REQ-INST-4",
2026-06-13T10:36:10.7801637Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-13T10:36:10.7801722Z       "requiredStages": [
2026-06-13T10:36:10.7801807Z         "impl",
2026-06-13T10:36:10.7801893Z         "unit"
2026-06-13T10:36:10.7801976Z       ],
2026-06-13T10:36:10.7802060Z       "stages": {
2026-06-13T10:36:10.7802146Z         "doc": {
2026-06-13T10:36:10.7802242Z           "complete": false,
2026-06-13T10:36:10.7802323Z           "evidence": []
2026-06-13T10:36:10.7802413Z         },
2026-06-13T10:36:10.7802498Z         "impl": {
2026-06-13T10:36:10.7802583Z           "complete": true,
2026-06-13T10:36:10.7802670Z           "evidence": [
2026-06-13T10:36:10.7802751Z             {
2026-06-13T10:36:10.7802874Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7802961Z               "line": 335
2026-06-13T10:36:10.7803047Z             },
2026-06-13T10:36:10.7803131Z             {
2026-06-13T10:36:10.7803242Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7803337Z               "line": 202
2026-06-13T10:36:10.7803418Z             },
2026-06-13T10:36:10.7803504Z             {
2026-06-13T10:36:10.7803610Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7803699Z               "line": 234
2026-06-13T10:36:10.7803784Z             },
2026-06-13T10:36:10.7803862Z             {
2026-06-13T10:36:10.7804067Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7804152Z               "line": 274
2026-06-13T10:36:10.7804239Z             }
2026-06-13T10:36:10.7804324Z           ]
2026-06-13T10:36:10.7804405Z         },
2026-06-13T10:36:10.7804491Z         "int": {
2026-06-13T10:36:10.7804573Z           "complete": false,
2026-06-13T10:36:10.7804657Z           "evidence": []
2026-06-13T10:36:10.7804738Z         },
2026-06-13T10:36:10.7804824Z         "unit": {
2026-06-13T10:36:10.7804910Z           "complete": true,
2026-06-13T10:36:10.7804993Z           "evidence": [
2026-06-13T10:36:10.7805169Z             {
2026-06-13T10:36:10.7805285Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.7805374Z               "line": 839
2026-06-13T10:36:10.7805451Z             },
2026-06-13T10:36:10.7805537Z             {
2026-06-13T10:36:10.7805651Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7805732Z               "line": 561
2026-06-13T10:36:10.7805828Z             },
2026-06-13T10:36:10.7805909Z             {
2026-06-13T10:36:10.7806018Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7806105Z               "line": 668
2026-06-13T10:36:10.7806186Z             },
2026-06-13T10:36:10.7806267Z             {
2026-06-13T10:36:10.7806376Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7806462Z               "line": 750
2026-06-13T10:36:10.7806547Z             }
2026-06-13T10:36:10.7806628Z           ]
2026-06-13T10:36:10.7806700Z         }
2026-06-13T10:36:10.7806768Z       }
2026-06-13T10:36:10.7806853Z     },
2026-06-13T10:36:10.7806934Z     {
2026-06-13T10:36:10.7807019Z       "id": "REQ-INST-5",
2026-06-13T10:36:10.7807191Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-13T10:36:10.7807296Z       "requiredStages": [
2026-06-13T10:36:10.7807383Z         "impl",
2026-06-13T10:36:10.7807464Z         "unit",
2026-06-13T10:36:10.7807548Z         "int"
2026-06-13T10:36:10.7807629Z       ],
2026-06-13T10:36:10.7807714Z       "stages": {
2026-06-13T10:36:10.7807795Z         "doc": {
2026-06-13T10:36:10.7807879Z           "complete": false,
2026-06-13T10:36:10.7807955Z           "evidence": []
2026-06-13T10:36:10.7808036Z         },
2026-06-13T10:36:10.7808118Z         "impl": {
2026-06-13T10:36:10.7808198Z           "complete": true,
2026-06-13T10:36:10.7808289Z           "evidence": [
2026-06-13T10:36:10.7808366Z             {
2026-06-13T10:36:10.7808490Z               "path": "crates/spt-daemon/src/pump/sync.rs",
2026-06-13T10:36:10.7808565Z               "line": 85
2026-06-13T10:36:10.7808652Z             },
2026-06-13T10:36:10.7808729Z             {
2026-06-13T10:36:10.7808842Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T10:36:10.7808932Z               "line": 68
2026-06-13T10:36:10.7809100Z             },
2026-06-13T10:36:10.7809185Z             {
2026-06-13T10:36:10.7809296Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T10:36:10.7809377Z               "line": 99
2026-06-13T10:36:10.7809457Z             },
2026-06-13T10:36:10.7809538Z             {
2026-06-13T10:36:10.7809649Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T10:36:10.7809730Z               "line": 183
2026-06-13T10:36:10.7809819Z             },
2026-06-13T10:36:10.7809896Z             {
2026-06-13T10:36:10.7810007Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T10:36:10.7810091Z               "line": 314
2026-06-13T10:36:10.7810167Z             }
2026-06-13T10:36:10.7810243Z           ]
2026-06-13T10:36:10.7810320Z         },
2026-06-13T10:36:10.7810399Z         "int": {
2026-06-13T10:36:10.7810484Z           "complete": true,
2026-06-13T10:36:10.7810570Z           "evidence": [
2026-06-13T10:36:10.7810651Z             {
2026-06-13T10:36:10.7810765Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T10:36:10.7810860Z               "line": 156
2026-06-13T10:36:10.7810933Z             },
2026-06-13T10:36:10.7811104Z             {
2026-06-13T10:36:10.7811218Z               "path": "crates/spt-daemon/tests/pump.rs",
2026-06-13T10:36:10.7811309Z               "line": 102
2026-06-13T10:36:10.7811405Z             },
2026-06-13T10:36:10.7811480Z             {
2026-06-13T10:36:10.7811596Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.7811676Z               "line": 637
2026-06-13T10:36:10.7811766Z             },
2026-06-13T10:36:10.7811838Z             {
2026-06-13T10:36:10.7811948Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.7812143Z               "line": 974
2026-06-13T10:36:10.7812221Z             }
2026-06-13T10:36:10.7812296Z           ]
2026-06-13T10:36:10.7812372Z         },
2026-06-13T10:36:10.7812463Z         "unit": {
2026-06-13T10:36:10.7812550Z           "complete": true,
2026-06-13T10:36:10.7812644Z           "evidence": [
2026-06-13T10:36:10.7812716Z             {
2026-06-13T10:36:10.7812826Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T10:36:10.7812921Z               "line": 552
2026-06-13T10:36:10.7812991Z             },
2026-06-13T10:36:10.7813072Z             {
2026-06-13T10:36:10.7813173Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T10:36:10.7813254Z               "line": 595
2026-06-13T10:36:10.7813335Z             },
2026-06-13T10:36:10.7813405Z             {
2026-06-13T10:36:10.7813526Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-13T10:36:10.7813602Z               "line": 219
2026-06-13T10:36:10.7813682Z             }
2026-06-13T10:36:10.7813759Z           ]
2026-06-13T10:36:10.7813850Z         }
2026-06-13T10:36:10.7813941Z       }
2026-06-13T10:36:10.7814020Z     },
2026-06-13T10:36:10.7814102Z     {
2026-06-13T10:36:10.7814184Z       "id": "REQ-INST-6",
2026-06-13T10:36:10.7814359Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-13T10:36:10.7814456Z       "requiredStages": [
2026-06-13T10:36:10.7814555Z         "impl",
2026-06-13T10:36:10.7814636Z         "unit",
2026-06-13T10:36:10.7814722Z         "int"
2026-06-13T10:36:10.7814804Z       ],
2026-06-13T10:36:10.7814884Z       "stages": {
2026-06-13T10:36:10.7814974Z         "doc": {
2026-06-13T10:36:10.7815061Z           "complete": true,
2026-06-13T10:36:10.7815152Z           "evidence": [
2026-06-13T10:36:10.7815241Z             {
2026-06-13T10:36:10.7815340Z               "path": "docs/DEFERRED.md",
2026-06-13T10:36:10.7815426Z               "line": 13
2026-06-13T10:36:10.7815512Z             }
2026-06-13T10:36:10.7815596Z           ]
2026-06-13T10:36:10.7815681Z         },
2026-06-13T10:36:10.7815768Z         "impl": {
2026-06-13T10:36:10.7815863Z           "complete": true,
2026-06-13T10:36:10.7815948Z           "evidence": [
2026-06-13T10:36:10.7816035Z             {
2026-06-13T10:36:10.7816149Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T10:36:10.7816239Z               "line": 391
2026-06-13T10:36:10.7816320Z             },
2026-06-13T10:36:10.7816417Z             {
2026-06-13T10:36:10.7816535Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-13T10:36:10.7816621Z               "line": 27
2026-06-13T10:36:10.7816703Z             },
2026-06-13T10:36:10.7816783Z             {
2026-06-13T10:36:10.7816902Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-13T10:36:10.7816989Z               "line": 73
2026-06-13T10:36:10.7817070Z             },
2026-06-13T10:36:10.7817156Z             {
2026-06-13T10:36:10.7817269Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-13T10:36:10.7817361Z               "line": 182
2026-06-13T10:36:10.7817446Z             },
2026-06-13T10:36:10.7817531Z             {
2026-06-13T10:36:10.7817647Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7817733Z               "line": 426
2026-06-13T10:36:10.7817818Z             },
2026-06-13T10:36:10.7817899Z             {
2026-06-13T10:36:10.7818010Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-13T10:36:10.7818175Z               "line": 31
2026-06-13T10:36:10.7818261Z             },
2026-06-13T10:36:10.7818346Z             {
2026-06-13T10:36:10.7818458Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T10:36:10.7818548Z               "line": 182
2026-06-13T10:36:10.7818630Z             },
2026-06-13T10:36:10.7818717Z             {
2026-06-13T10:36:10.7818830Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T10:36:10.7818916Z               "line": 81
2026-06-13T10:36:10.7819087Z             },
2026-06-13T10:36:10.7819168Z             {
2026-06-13T10:36:10.7819375Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7819464Z               "line": 1326
2026-06-13T10:36:10.7819546Z             },
2026-06-13T10:36:10.7819627Z             {
2026-06-13T10:36:10.7819731Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T10:36:10.7819822Z               "line": 179
2026-06-13T10:36:10.7819904Z             },
2026-06-13T10:36:10.7819998Z             {
2026-06-13T10:36:10.7820103Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T10:36:10.7820195Z               "line": 215
2026-06-13T10:36:10.7820276Z             }
2026-06-13T10:36:10.7820360Z           ]
2026-06-13T10:36:10.7820447Z         },
2026-06-13T10:36:10.7820524Z         "int": {
2026-06-13T10:36:10.7820619Z           "complete": true,
2026-06-13T10:36:10.7820703Z           "evidence": [
2026-06-13T10:36:10.7820788Z             {
2026-06-13T10:36:10.7820903Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.7820992Z               "line": 651
2026-06-13T10:36:10.7821081Z             },
2026-06-13T10:36:10.7821163Z             {
2026-06-13T10:36:10.7821279Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.7821373Z               "line": 1019
2026-06-13T10:36:10.7821454Z             },
2026-06-13T10:36:10.7821536Z             {
2026-06-13T10:36:10.7821645Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T10:36:10.7821740Z               "line": 725
2026-06-13T10:36:10.7821822Z             }
2026-06-13T10:36:10.7821908Z           ]
2026-06-13T10:36:10.7821988Z         },
2026-06-13T10:36:10.7822074Z         "unit": {
2026-06-13T10:36:10.7822161Z           "complete": true,
2026-06-13T10:36:10.7822251Z           "evidence": [
2026-06-13T10:36:10.7822336Z             {
2026-06-13T10:36:10.7822452Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T10:36:10.7822542Z               "line": 660
2026-06-13T10:36:10.7822623Z             },
2026-06-13T10:36:10.7822703Z             {
2026-06-13T10:36:10.7822828Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.7822922Z               "line": 899
2026-06-13T10:36:10.7823004Z             },
2026-06-13T10:36:10.7823086Z             {
2026-06-13T10:36:10.7823213Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-13T10:36:10.7823300Z               "line": 66
2026-06-13T10:36:10.7823382Z             },
2026-06-13T10:36:10.7823467Z             {
2026-06-13T10:36:10.7823585Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T10:36:10.7823680Z               "line": 272
2026-06-13T10:36:10.7823766Z             },
2026-06-13T10:36:10.7823848Z             {
2026-06-13T10:36:10.7823956Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T10:36:10.7824048Z               "line": 201
2026-06-13T10:36:10.7824134Z             }
2026-06-13T10:36:10.7824214Z           ]
2026-06-13T10:36:10.7824299Z         }
2026-06-13T10:36:10.7824377Z       }
2026-06-13T10:36:10.7824462Z     },
2026-06-13T10:36:10.7824548Z     {
2026-06-13T10:36:10.7824639Z       "id": "REQ-INST-7",
2026-06-13T10:36:10.7824777Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-13T10:36:10.7824872Z       "requiredStages": [
2026-06-13T10:36:10.7824953Z         "impl",
2026-06-13T10:36:10.7825035Z         "unit",
2026-06-13T10:36:10.7825125Z         "int"
2026-06-13T10:36:10.7825206Z       ],
2026-06-13T10:36:10.7825388Z       "stages": {
2026-06-13T10:36:10.7825468Z         "doc": {
2026-06-13T10:36:10.7825558Z           "complete": false,
2026-06-13T10:36:10.7825651Z           "evidence": []
2026-06-13T10:36:10.7825731Z         },
2026-06-13T10:36:10.7825806Z         "impl": {
2026-06-13T10:36:10.7825896Z           "complete": true,
2026-06-13T10:36:10.7825982Z           "evidence": [
2026-06-13T10:36:10.7826062Z             {
2026-06-13T10:36:10.7826180Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T10:36:10.7826276Z               "line": 436
2026-06-13T10:36:10.7826348Z             },
2026-06-13T10:36:10.7826504Z             {
2026-06-13T10:36:10.7826628Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7826719Z               "line": 27
2026-06-13T10:36:10.7826790Z             },
2026-06-13T10:36:10.7826861Z             {
2026-06-13T10:36:10.7826982Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7827063Z               "line": 191
2026-06-13T10:36:10.7827142Z             },
2026-06-13T10:36:10.7827220Z             {
2026-06-13T10:36:10.7827343Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7827434Z               "line": 328
2026-06-13T10:36:10.7827515Z             },
2026-06-13T10:36:10.7827587Z             {
2026-06-13T10:36:10.7827696Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-13T10:36:10.7827791Z               "line": 59
2026-06-13T10:36:10.7827874Z             },
2026-06-13T10:36:10.7827945Z             {
2026-06-13T10:36:10.7828064Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7828149Z               "line": 41
2026-06-13T10:36:10.7828232Z             },
2026-06-13T10:36:10.7828302Z             {
2026-06-13T10:36:10.7828421Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-13T10:36:10.7828508Z               "line": 27
2026-06-13T10:36:10.7828594Z             },
2026-06-13T10:36:10.7828678Z             {
2026-06-13T10:36:10.7828791Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-13T10:36:10.7828878Z               "line": 119
2026-06-13T10:36:10.7829037Z             },
2026-06-13T10:36:10.7831670Z             {
2026-06-13T10:36:10.7831839Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-13T10:36:10.7831919Z               "line": 134
2026-06-13T10:36:10.7831995Z             },
2026-06-13T10:36:10.7832068Z             {
2026-06-13T10:36:10.7832200Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T10:36:10.7832285Z               "line": 139
2026-06-13T10:36:10.7832387Z             }
2026-06-13T10:36:10.7832463Z           ]
2026-06-13T10:36:10.7832543Z         },
2026-06-13T10:36:10.7832629Z         "int": {
2026-06-13T10:36:10.7832712Z           "complete": true,
2026-06-13T10:36:10.7832796Z           "evidence": [
2026-06-13T10:36:10.7832877Z             {
2026-06-13T10:36:10.7832992Z               "path": "crates/spt-daemon/tests/pump.rs",
2026-06-13T10:36:10.7833082Z               "line": 102
2026-06-13T10:36:10.7833163Z             },
2026-06-13T10:36:10.7833244Z             {
2026-06-13T10:36:10.7833365Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.7833440Z               "line": 595
2026-06-13T10:36:10.7833521Z             },
2026-06-13T10:36:10.7833608Z             {
2026-06-13T10:36:10.7833726Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.7833807Z               "line": 869
2026-06-13T10:36:10.7833888Z             }
2026-06-13T10:36:10.7833971Z           ]
2026-06-13T10:36:10.7834055Z         },
2026-06-13T10:36:10.7834135Z         "unit": {
2026-06-13T10:36:10.7834225Z           "complete": true,
2026-06-13T10:36:10.7834307Z           "evidence": [
2026-06-13T10:36:10.7834389Z             {
2026-06-13T10:36:10.7834516Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7834608Z               "line": 1052
2026-06-13T10:36:10.7834831Z             },
2026-06-13T10:36:10.7834913Z             {
2026-06-13T10:36:10.7835046Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7835141Z               "line": 1383
2026-06-13T10:36:10.7835232Z             },
2026-06-13T10:36:10.7835318Z             {
2026-06-13T10:36:10.7835441Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-13T10:36:10.7835528Z               "line": 84
2026-06-13T10:36:10.7835609Z             },
2026-06-13T10:36:10.7835690Z             {
2026-06-13T10:36:10.7835813Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7836004Z               "line": 763
2026-06-13T10:36:10.7836085Z             },
2026-06-13T10:36:10.7836167Z             {
2026-06-13T10:36:10.7836281Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7836366Z               "line": 774
2026-06-13T10:36:10.7836452Z             },
2026-06-13T10:36:10.7836537Z             {
2026-06-13T10:36:10.7836650Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7836745Z               "line": 789
2026-06-13T10:36:10.7836821Z             },
2026-06-13T10:36:10.7836908Z             {
2026-06-13T10:36:10.7837026Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-13T10:36:10.7837112Z               "line": 165
2026-06-13T10:36:10.7837198Z             },
2026-06-13T10:36:10.7837274Z             {
2026-06-13T10:36:10.7837393Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-13T10:36:10.7837480Z               "line": 180
2026-06-13T10:36:10.7837566Z             },
2026-06-13T10:36:10.7837651Z             {
2026-06-13T10:36:10.7837770Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-13T10:36:10.7837857Z               "line": 213
2026-06-13T10:36:10.7837932Z             }
2026-06-13T10:36:10.7838017Z           ]
2026-06-13T10:36:10.7838099Z         }
2026-06-13T10:36:10.7838181Z       }
2026-06-13T10:36:10.7838261Z     },
2026-06-13T10:36:10.7838356Z     {
2026-06-13T10:36:10.7838443Z       "id": "REQ-INST-8",
2026-06-13T10:36:10.7838594Z       "title": "Remote-control mode distinct from local operation",
2026-06-13T10:36:10.7838690Z       "requiredStages": [
2026-06-13T10:36:10.7838777Z         "impl",
2026-06-13T10:36:10.7838862Z         "unit",
2026-06-13T10:36:10.7839044Z         "int"
2026-06-13T10:36:10.7839121Z       ],
2026-06-13T10:36:10.7839210Z       "stages": {
2026-06-13T10:36:10.7839290Z         "doc": {
2026-06-13T10:36:10.7839395Z           "complete": false,
2026-06-13T10:36:10.7839485Z           "evidence": []
2026-06-13T10:36:10.7839569Z         },
2026-06-13T10:36:10.7839655Z         "impl": {
2026-06-13T10:36:10.7839736Z           "complete": true,
2026-06-13T10:36:10.7839822Z           "evidence": [
2026-06-13T10:36:10.7839898Z             {
2026-06-13T10:36:10.7840017Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-13T10:36:10.7840108Z               "line": 98
2026-06-13T10:36:10.7840194Z             },
2026-06-13T10:36:10.7840279Z             {
2026-06-13T10:36:10.7840395Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-13T10:36:10.7840485Z               "line": 209
2026-06-13T10:36:10.7840570Z             },
2026-06-13T10:36:10.7840651Z             {
2026-06-13T10:36:10.7840762Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-13T10:36:10.7840852Z               "line": 230
2026-06-13T10:36:10.7840933Z             },
2026-06-13T10:36:10.7841015Z             {
2026-06-13T10:36:10.7841133Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-13T10:36:10.7841218Z               "line": 35
2026-06-13T10:36:10.7841306Z             }
2026-06-13T10:36:10.7841387Z           ]
2026-06-13T10:36:10.7841466Z         },
2026-06-13T10:36:10.7841543Z         "int": {
2026-06-13T10:36:10.7841635Z           "complete": true,
2026-06-13T10:36:10.7841725Z           "evidence": [
2026-06-13T10:36:10.7841805Z             {
2026-06-13T10:36:10.7841923Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T10:36:10.7842107Z               "line": 415
2026-06-13T10:36:10.7842193Z             },
2026-06-13T10:36:10.7842274Z             {
2026-06-13T10:36:10.7842394Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.7842469Z               "line": 933
2026-06-13T10:36:10.7842545Z             }
2026-06-13T10:36:10.7842628Z           ]
2026-06-13T10:36:10.7842713Z         },
2026-06-13T10:36:10.7842808Z         "unit": {
2026-06-13T10:36:10.7842894Z           "complete": true,
2026-06-13T10:36:10.7842975Z           "evidence": [
2026-06-13T10:36:10.7843061Z             {
2026-06-13T10:36:10.7843342Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-13T10:36:10.7843471Z               "line": 181
2026-06-13T10:36:10.7843552Z             },
2026-06-13T10:36:10.7843638Z             {
2026-06-13T10:36:10.7843776Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-13T10:36:10.7843882Z               "line": 259
2026-06-13T10:36:10.7843976Z             },
2026-06-13T10:36:10.7844057Z             {
2026-06-13T10:36:10.7844173Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-13T10:36:10.7844258Z               "line": 70
2026-06-13T10:36:10.7844343Z             },
2026-06-13T10:36:10.7844420Z             {
2026-06-13T10:36:10.7844531Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-13T10:36:10.7844620Z               "line": 110
2026-06-13T10:36:10.7844700Z             }
2026-06-13T10:36:10.7844785Z           ]
2026-06-13T10:36:10.7844867Z         }
2026-06-13T10:36:10.7844949Z       }
2026-06-13T10:36:10.7845029Z     },
2026-06-13T10:36:10.7845119Z     {
2026-06-13T10:36:10.7845206Z       "id": "REQ-INST-9",
2026-06-13T10:36:10.7845386Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-13T10:36:10.7845483Z       "requiredStages": [
2026-06-13T10:36:10.7845563Z         "impl",
2026-06-13T10:36:10.7845649Z         "unit"
2026-06-13T10:36:10.7845729Z       ],
2026-06-13T10:36:10.7845817Z       "stages": {
2026-06-13T10:36:10.7845907Z         "doc": {
2026-06-13T10:36:10.7845997Z           "complete": false,
2026-06-13T10:36:10.7846078Z           "evidence": []
2026-06-13T10:36:10.7846155Z         },
2026-06-13T10:36:10.7846235Z         "impl": {
2026-06-13T10:36:10.7846326Z           "complete": true,
2026-06-13T10:36:10.7846417Z           "evidence": [
2026-06-13T10:36:10.7846494Z             {
2026-06-13T10:36:10.7846611Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7846693Z               "line": 401
2026-06-13T10:36:10.7846771Z             }
2026-06-13T10:36:10.7846861Z           ]
2026-06-13T10:36:10.7846940Z         },
2026-06-13T10:36:10.7847016Z         "int": {
2026-06-13T10:36:10.7847107Z           "complete": false,
2026-06-13T10:36:10.7847182Z           "evidence": []
2026-06-13T10:36:10.7847267Z         },
2026-06-13T10:36:10.7847343Z         "unit": {
2026-06-13T10:36:10.7847424Z           "complete": true,
2026-06-13T10:36:10.7847511Z           "evidence": [
2026-06-13T10:36:10.7847586Z             {
2026-06-13T10:36:10.7847705Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7847797Z               "line": 1300
2026-06-13T10:36:10.7847877Z             },
2026-06-13T10:36:10.7847957Z             {
2026-06-13T10:36:10.7848068Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7848149Z               "line": 1309
2026-06-13T10:36:10.7848235Z             },
2026-06-13T10:36:10.7848311Z             {
2026-06-13T10:36:10.7848412Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7848512Z               "line": 1325
2026-06-13T10:36:10.7848587Z             },
2026-06-13T10:36:10.7848669Z             {
2026-06-13T10:36:10.7848774Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7848859Z               "line": 1337
2026-06-13T10:36:10.7849032Z             },
2026-06-13T10:36:10.7849112Z             {
2026-06-13T10:36:10.7849337Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.7849427Z               "line": 1357
2026-06-13T10:36:10.7849508Z             }
2026-06-13T10:36:10.7849594Z           ]
2026-06-13T10:36:10.7849671Z         }
2026-06-13T10:36:10.7849756Z       }
2026-06-13T10:36:10.7849836Z     },
2026-06-13T10:36:10.7849911Z     {
2026-06-13T10:36:10.7849998Z       "id": "REQ-INSTALL-1",
2026-06-13T10:36:10.7850176Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-13T10:36:10.7850263Z       "requiredStages": [
2026-06-13T10:36:10.7850349Z         "doc",
2026-06-13T10:36:10.7850534Z         "impl",
2026-06-13T10:36:10.7850616Z         "int"
2026-06-13T10:36:10.7850687Z       ],
2026-06-13T10:36:10.7850768Z       "stages": {
2026-06-13T10:36:10.7850849Z         "doc": {
2026-06-13T10:36:10.7850931Z           "complete": true,
2026-06-13T10:36:10.7851016Z           "evidence": [
2026-06-13T10:36:10.7851097Z             {
2026-06-13T10:36:10.7851197Z               "path": "CONTEXT.md",
2026-06-13T10:36:10.7851274Z               "line": 627
2026-06-13T10:36:10.7851354Z             }
2026-06-13T10:36:10.7851440Z           ]
2026-06-13T10:36:10.7851521Z         },
2026-06-13T10:36:10.7851604Z         "impl": {
2026-06-13T10:36:10.7851688Z           "complete": true,
2026-06-13T10:36:10.7851774Z           "evidence": [
2026-06-13T10:36:10.7851856Z             {
2026-06-13T10:36:10.7851961Z               "path": "installer/install.ps1",
2026-06-13T10:36:10.7852040Z               "line": 57
2026-06-13T10:36:10.7852127Z             },
2026-06-13T10:36:10.7852204Z             {
2026-06-13T10:36:10.7852304Z               "path": "installer/install.sh",
2026-06-13T10:36:10.7852388Z               "line": 52
2026-06-13T10:36:10.7852468Z             }
2026-06-13T10:36:10.7852545Z           ]
2026-06-13T10:36:10.7852626Z         },
2026-06-13T10:36:10.7852696Z         "int": {
2026-06-13T10:36:10.7852781Z           "complete": true,
2026-06-13T10:36:10.7852872Z           "evidence": [
2026-06-13T10:36:10.7852950Z             {
2026-06-13T10:36:10.7853072Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-13T10:36:10.7853158Z               "line": 21
2026-06-13T10:36:10.7853240Z             }
2026-06-13T10:36:10.7853320Z           ]
2026-06-13T10:36:10.7853401Z         },
2026-06-13T10:36:10.7853483Z         "unit": {
2026-06-13T10:36:10.7853568Z           "complete": false,
2026-06-13T10:36:10.7853654Z           "evidence": []
2026-06-13T10:36:10.7853730Z         }
2026-06-13T10:36:10.7853812Z       }
2026-06-13T10:36:10.7853888Z     },
2026-06-13T10:36:10.7853974Z     {
2026-06-13T10:36:10.7854059Z       "id": "REQ-INSTALL-2",
2026-06-13T10:36:10.7854193Z       "title": "Marketplace-repackaging-friendly install",
2026-06-13T10:36:10.7854288Z       "requiredStages": [
2026-06-13T10:36:10.7854370Z         "doc"
2026-06-13T10:36:10.7854452Z       ],
2026-06-13T10:36:10.7854532Z       "stages": {
2026-06-13T10:36:10.7854613Z         "doc": {
2026-06-13T10:36:10.7854708Z           "complete": true,
2026-06-13T10:36:10.7854800Z           "evidence": [
2026-06-13T10:36:10.7854884Z             {
2026-06-13T10:36:10.7854975Z               "path": "CONTEXT.md",
2026-06-13T10:36:10.7855067Z               "line": 628
2026-06-13T10:36:10.7855143Z             }
2026-06-13T10:36:10.7855231Z           ]
2026-06-13T10:36:10.7855317Z         },
2026-06-13T10:36:10.7855398Z         "impl": {
2026-06-13T10:36:10.7855490Z           "complete": false,
2026-06-13T10:36:10.7855584Z           "evidence": []
2026-06-13T10:36:10.7855665Z         },
2026-06-13T10:36:10.7855742Z         "int": {
2026-06-13T10:36:10.7855838Z           "complete": false,
2026-06-13T10:36:10.7855927Z           "evidence": []
2026-06-13T10:36:10.7856009Z         },
2026-06-13T10:36:10.7856090Z         "unit": {
2026-06-13T10:36:10.7856176Z           "complete": false,
2026-06-13T10:36:10.7856271Z           "evidence": []
2026-06-13T10:36:10.7856347Z         }
2026-06-13T10:36:10.7856433Z       }
2026-06-13T10:36:10.7856595Z     },
2026-06-13T10:36:10.7856672Z     {
2026-06-13T10:36:10.7856767Z       "id": "REQ-INSTALL-3",
2026-06-13T10:36:10.7856900Z       "title": "Idempotent + interactive-optional first run",
2026-06-13T10:36:10.7856992Z       "requiredStages": [
2026-06-13T10:36:10.7857072Z         "impl",
2026-06-13T10:36:10.7857153Z         "int"
2026-06-13T10:36:10.7857234Z       ],
2026-06-13T10:36:10.7857316Z       "stages": {
2026-06-13T10:36:10.7857401Z         "doc": {
2026-06-13T10:36:10.7857491Z           "complete": false,
2026-06-13T10:36:10.7857581Z           "evidence": []
2026-06-13T10:36:10.7857658Z         },
2026-06-13T10:36:10.7857822Z         "impl": {
2026-06-13T10:36:10.7857912Z           "complete": true,
2026-06-13T10:36:10.7857998Z           "evidence": [
2026-06-13T10:36:10.7858085Z             {
2026-06-13T10:36:10.7858193Z               "path": "installer/install.ps1",
2026-06-13T10:36:10.7858275Z               "line": 100
2026-06-13T10:36:10.7858357Z             },
2026-06-13T10:36:10.7858452Z             {
2026-06-13T10:36:10.7858551Z               "path": "installer/install.ps1",
2026-06-13T10:36:10.7858638Z               "line": 111
2026-06-13T10:36:10.7858723Z             },
2026-06-13T10:36:10.7858799Z             {
2026-06-13T10:36:10.7858905Z               "path": "installer/install.sh",
2026-06-13T10:36:10.7859072Z               "line": 79
2026-06-13T10:36:10.7859156Z             }
2026-06-13T10:36:10.7859234Z           ]
2026-06-13T10:36:10.7859315Z         },
2026-06-13T10:36:10.7859396Z         "int": {
2026-06-13T10:36:10.7859481Z           "complete": true,
2026-06-13T10:36:10.7859578Z           "evidence": [
2026-06-13T10:36:10.7859658Z             {
2026-06-13T10:36:10.7859772Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-13T10:36:10.7859859Z               "line": 167
2026-06-13T10:36:10.7859940Z             }
2026-06-13T10:36:10.7860020Z           ]
2026-06-13T10:36:10.7860101Z         },
2026-06-13T10:36:10.7860183Z         "unit": {
2026-06-13T10:36:10.7860279Z           "complete": false,
2026-06-13T10:36:10.7860368Z           "evidence": []
2026-06-13T10:36:10.7860453Z         }
2026-06-13T10:36:10.7860534Z       }
2026-06-13T10:36:10.7860614Z     },
2026-06-13T10:36:10.7860694Z     {
2026-06-13T10:36:10.7860784Z       "id": "REQ-INSTALL-4",
2026-06-13T10:36:10.7861399Z       "title": "Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over",
2026-06-13T10:36:10.7861496Z       "requiredStages": [
2026-06-13T10:36:10.7861586Z         "impl",
2026-06-13T10:36:10.7861667Z         "unit"
2026-06-13T10:36:10.7861748Z       ],
2026-06-13T10:36:10.7861834Z       "stages": {
2026-06-13T10:36:10.7861915Z         "doc": {
2026-06-13T10:36:10.7862005Z           "complete": false,
2026-06-13T10:36:10.7862091Z           "evidence": []
2026-06-13T10:36:10.7862164Z         },
2026-06-13T10:36:10.7862243Z         "impl": {
2026-06-13T10:36:10.7862334Z           "complete": true,
2026-06-13T10:36:10.7862421Z           "evidence": [
2026-06-13T10:36:10.7862502Z             {
2026-06-13T10:36:10.7862635Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T10:36:10.7862711Z               "line": 154
2026-06-13T10:36:10.7862817Z             },
2026-06-13T10:36:10.7862906Z             {
2026-06-13T10:36:10.7863024Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T10:36:10.7863110Z               "line": 29
2026-06-13T10:36:10.7863191Z             },
2026-06-13T10:36:10.7863275Z             {
2026-06-13T10:36:10.7863394Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T10:36:10.7863471Z               "line": 139
2026-06-13T10:36:10.7863547Z             },
2026-06-13T10:36:10.7863618Z             {
2026-06-13T10:36:10.7863733Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T10:36:10.7863828Z               "line": 183
2026-06-13T10:36:10.7864091Z             },
2026-06-13T10:36:10.7864200Z             {
2026-06-13T10:36:10.7864358Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T10:36:10.7864443Z               "line": 213
2026-06-13T10:36:10.7864520Z             },
2026-06-13T10:36:10.7864591Z             {
2026-06-13T10:36:10.7864702Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T10:36:10.7864786Z               "line": 245
2026-06-13T10:36:10.7864863Z             },
2026-06-13T10:36:10.7864948Z             {
2026-06-13T10:36:10.7865050Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7865225Z               "line": 4389
2026-06-13T10:36:10.7865303Z             }
2026-06-13T10:36:10.7865388Z           ]
2026-06-13T10:36:10.7865463Z         },
2026-06-13T10:36:10.7865540Z         "int": {
2026-06-13T10:36:10.7865627Z           "complete": false,
2026-06-13T10:36:10.7865717Z           "evidence": []
2026-06-13T10:36:10.7865806Z         },
2026-06-13T10:36:10.7865891Z         "unit": {
2026-06-13T10:36:10.7865983Z           "complete": true,
2026-06-13T10:36:10.7866074Z           "evidence": [
2026-06-13T10:36:10.7866154Z             {
2026-06-13T10:36:10.7866288Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T10:36:10.7866369Z               "line": 335
2026-06-13T10:36:10.7866440Z             },
2026-06-13T10:36:10.7866521Z             {
2026-06-13T10:36:10.7866637Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T10:36:10.7866727Z               "line": 567
2026-06-13T10:36:10.7866802Z             },
2026-06-13T10:36:10.7866889Z             {
2026-06-13T10:36:10.7866998Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T10:36:10.7867093Z               "line": 608
2026-06-13T10:36:10.7867169Z             },
2026-06-13T10:36:10.7867261Z             {
2026-06-13T10:36:10.7867379Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T10:36:10.7867456Z               "line": 628
2026-06-13T10:36:10.7867537Z             },
2026-06-13T10:36:10.7867623Z             {
2026-06-13T10:36:10.7867718Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7867799Z               "line": 6197
2026-06-13T10:36:10.7867881Z             }
2026-06-13T10:36:10.7867957Z           ]
2026-06-13T10:36:10.7868027Z         }
2026-06-13T10:36:10.7868112Z       }
2026-06-13T10:36:10.7868189Z     },
2026-06-13T10:36:10.7868265Z     {
2026-06-13T10:36:10.7868358Z       "id": "REQ-INSTALL-5",
2026-06-13T10:36:10.7868830Z       "title": "Non-interactive install path: the canonical one-liner doubles as every adapter's pack-in on-demand install (no second mechanism); sha256-verified fetch; user-PATH registration",
2026-06-13T10:36:10.7868931Z       "requiredStages": [
2026-06-13T10:36:10.7869101Z         "impl",
2026-06-13T10:36:10.7869189Z         "int"
2026-06-13T10:36:10.7869265Z       ],
2026-06-13T10:36:10.7869355Z       "stages": {
2026-06-13T10:36:10.7869446Z         "doc": {
2026-06-13T10:36:10.7869537Z           "complete": false,
2026-06-13T10:36:10.7869632Z           "evidence": []
2026-06-13T10:36:10.7869703Z         },
2026-06-13T10:36:10.7869789Z         "impl": {
2026-06-13T10:36:10.7869875Z           "complete": true,
2026-06-13T10:36:10.7869965Z           "evidence": [
2026-06-13T10:36:10.7870050Z             {
2026-06-13T10:36:10.7870157Z               "path": "installer/install.ps1",
2026-06-13T10:36:10.7870251Z               "line": 5
2026-06-13T10:36:10.7870328Z             },
2026-06-13T10:36:10.7870414Z             {
2026-06-13T10:36:10.7870519Z               "path": "installer/install.sh",
2026-06-13T10:36:10.7870604Z               "line": 6
2026-06-13T10:36:10.7870690Z             }
2026-06-13T10:36:10.7870768Z           ]
2026-06-13T10:36:10.7870848Z         },
2026-06-13T10:36:10.7870928Z         "int": {
2026-06-13T10:36:10.7871022Z           "complete": true,
2026-06-13T10:36:10.7871104Z           "evidence": [
2026-06-13T10:36:10.7871184Z             {
2026-06-13T10:36:10.7871417Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-13T10:36:10.7871498Z               "line": 22
2026-06-13T10:36:10.7871579Z             }
2026-06-13T10:36:10.7871659Z           ]
2026-06-13T10:36:10.7871741Z         },
2026-06-13T10:36:10.7871817Z         "unit": {
2026-06-13T10:36:10.7871902Z           "complete": false,
2026-06-13T10:36:10.7871998Z           "evidence": []
2026-06-13T10:36:10.7872080Z         }
2026-06-13T10:36:10.7872160Z       }
2026-06-13T10:36:10.7872241Z     },
2026-06-13T10:36:10.7872322Z     {
2026-06-13T10:36:10.7872399Z       "id": "REQ-INSTALL-6",
2026-06-13T10:36:10.7873788Z       "title": "Linux elevation install leg: install.sh symlinks the binary into a sudo-reachable path (/usr/local/bin; graceful print-the-one-liner when unelevated) so sudo spt resolves; first sudo spt detects elevation and prompts ONCE for the default user account — thereafter any elevated daemon launch runs daemon + state under that account, never root (KH 5.7 interplay verified) (M8 decision 8)",
2026-06-13T10:36:10.7873897Z       "requiredStages": [
2026-06-13T10:36:10.7873978Z         "impl",
2026-06-13T10:36:10.7874060Z         "unit"
2026-06-13T10:36:10.7874140Z       ],
2026-06-13T10:36:10.7874230Z       "stages": {
2026-06-13T10:36:10.7874313Z         "doc": {
2026-06-13T10:36:10.7874398Z           "complete": false,
2026-06-13T10:36:10.7874492Z           "evidence": []
2026-06-13T10:36:10.7874574Z         },
2026-06-13T10:36:10.7874661Z         "impl": {
2026-06-13T10:36:10.7874751Z           "complete": true,
2026-06-13T10:36:10.7874841Z           "evidence": [
2026-06-13T10:36:10.7874923Z             {
2026-06-13T10:36:10.7875051Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7875141Z               "line": 59
2026-06-13T10:36:10.7875223Z             },
2026-06-13T10:36:10.7875309Z             {
2026-06-13T10:36:10.7875423Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.7875513Z               "line": 559
2026-06-13T10:36:10.7875605Z             },
2026-06-13T10:36:10.7875689Z             {
2026-06-13T10:36:10.7875814Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T10:36:10.7875901Z               "line": 191
2026-06-13T10:36:10.7875986Z             },
2026-06-13T10:36:10.7876062Z             {
2026-06-13T10:36:10.7876178Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T10:36:10.7876268Z               "line": 276
2026-06-13T10:36:10.7876352Z             },
2026-06-13T10:36:10.7876433Z             {
2026-06-13T10:36:10.7876543Z               "path": "crates/spt/src/main.rs",
2026-06-13T10:36:10.7876643Z               "line": 40
2026-06-13T10:36:10.7876723Z             },
2026-06-13T10:36:10.7876809Z             {
2026-06-13T10:36:10.7876915Z               "path": "installer/install.sh",
2026-06-13T10:36:10.7877000Z               "line": 104
2026-06-13T10:36:10.7877086Z             }
2026-06-13T10:36:10.7877168Z           ]
2026-06-13T10:36:10.7877253Z         },
2026-06-13T10:36:10.7877338Z         "int": {
2026-06-13T10:36:10.7877429Z           "complete": false,
2026-06-13T10:36:10.7877526Z           "evidence": []
2026-06-13T10:36:10.7877606Z         },
2026-06-13T10:36:10.7877691Z         "unit": {
2026-06-13T10:36:10.7877783Z           "complete": true,
2026-06-13T10:36:10.7877873Z           "evidence": [
2026-06-13T10:36:10.7877954Z             {
2026-06-13T10:36:10.7878073Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T10:36:10.7878165Z               "line": 866
2026-06-13T10:36:10.7878249Z             }
2026-06-13T10:36:10.7878340Z           ]
2026-06-13T10:36:10.7878422Z         }
2026-06-13T10:36:10.7878508Z       }
2026-06-13T10:36:10.7878592Z     },
2026-06-13T10:36:10.7878672Z     {
2026-06-13T10:36:10.7878768Z       "id": "REQ-INSTALL-7",
2026-06-13T10:36:10.7879939Z       "title": "Windows inbound reachability: the elevated install leg registers the inbound-UDP firewall rule (New-NetFirewallRule); the daemon self-detects blocked inbound and renders it as the no-connection state in subnet status + the coming-online banner (covers user-scope installs that skip the elevated leg — never a silent NO_SEED_HOLDER dead-end) (M8 root cause 3)",
2026-06-13T10:36:10.7880149Z       "requiredStages": [
2026-06-13T10:36:10.7880230Z         "impl"
2026-06-13T10:36:10.7880315Z       ],
2026-06-13T10:36:10.7880407Z       "stages": {
2026-06-13T10:36:10.7880492Z         "doc": {
2026-06-13T10:36:10.7880583Z           "complete": false,
2026-06-13T10:36:10.7880669Z           "evidence": []
2026-06-13T10:36:10.7880755Z         },
2026-06-13T10:36:10.7880840Z         "impl": {
2026-06-13T10:36:10.7881027Z           "complete": true,
2026-06-13T10:36:10.7881121Z           "evidence": [
2026-06-13T10:36:10.7881203Z             {
2026-06-13T10:36:10.7881308Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7881394Z               "line": 3047
2026-06-13T10:36:10.7881474Z             },
2026-06-13T10:36:10.7881558Z             {
2026-06-13T10:36:10.7881678Z               "path": "installer/install.ps1",
2026-06-13T10:36:10.7881776Z               "line": 157
2026-06-13T10:36:10.7881856Z             }
2026-06-13T10:36:10.7881938Z           ]
2026-06-13T10:36:10.7882015Z         },
2026-06-13T10:36:10.7882101Z         "int": {
2026-06-13T10:36:10.7882185Z           "complete": false,
2026-06-13T10:36:10.7882277Z           "evidence": []
2026-06-13T10:36:10.7882368Z         },
2026-06-13T10:36:10.7882448Z         "unit": {
2026-06-13T10:36:10.7882543Z           "complete": false,
2026-06-13T10:36:10.7882630Z           "evidence": []
2026-06-13T10:36:10.7882716Z         }
2026-06-13T10:36:10.7882806Z       }
2026-06-13T10:36:10.7882896Z     },
2026-06-13T10:36:10.7882978Z     {
2026-06-13T10:36:10.7883068Z       "id": "REQ-INSTALL-8",
2026-06-13T10:36:10.7884083Z       "title": "OS-service registration (REQ-INSTALL-1's deferred third leg): Linux systemd USER service + loginctl enable-linger (linger rides the elevated install leg; daemon starts at boot pre-login, user universe per KH 5.7, systemctl --user managed); Windows scheduled task at-logon (interactive session, no stored credentials); a node is reachable after reboot without any manual spt invocation (M8 decision 17)",
2026-06-13T10:36:10.7884183Z       "requiredStages": [
2026-06-13T10:36:10.7884269Z         "impl"
2026-06-13T10:36:10.7884353Z       ],
2026-06-13T10:36:10.7884438Z       "stages": {
2026-06-13T10:36:10.7884524Z         "doc": {
2026-06-13T10:36:10.7884610Z           "complete": false,
2026-06-13T10:36:10.7884705Z           "evidence": []
2026-06-13T10:36:10.7884781Z         },
2026-06-13T10:36:10.7884873Z         "impl": {
2026-06-13T10:36:10.7884973Z           "complete": true,
2026-06-13T10:36:10.7885057Z           "evidence": [
2026-06-13T10:36:10.7885144Z             {
2026-06-13T10:36:10.7885245Z               "path": "installer/install.ps1",
2026-06-13T10:36:10.7885330Z               "line": 184
2026-06-13T10:36:10.7885405Z             },
2026-06-13T10:36:10.7885483Z             {
2026-06-13T10:36:10.7885597Z               "path": "installer/install.sh",
2026-06-13T10:36:10.7885678Z               "line": 121
2026-06-13T10:36:10.7885759Z             }
2026-06-13T10:36:10.7885841Z           ]
2026-06-13T10:36:10.7885925Z         },
2026-06-13T10:36:10.7886016Z         "int": {
2026-06-13T10:36:10.7886108Z           "complete": false,
2026-06-13T10:36:10.7886194Z           "evidence": []
2026-06-13T10:36:10.7886268Z         },
2026-06-13T10:36:10.7886350Z         "unit": {
2026-06-13T10:36:10.7886437Z           "complete": false,
2026-06-13T10:36:10.7886532Z           "evidence": []
2026-06-13T10:36:10.7886602Z         }
2026-06-13T10:36:10.7886694Z       }
2026-06-13T10:36:10.7886776Z     },
2026-06-13T10:36:10.7886856Z     {
2026-06-13T10:36:10.7886950Z       "id": "REQ-MANIFEST-1",
2026-06-13T10:36:10.7887132Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-13T10:36:10.7887232Z       "requiredStages": [
2026-06-13T10:36:10.7887307Z         "doc",
2026-06-13T10:36:10.7887461Z         "impl",
2026-06-13T10:36:10.7887537Z         "unit"
2026-06-13T10:36:10.7887612Z       ],
2026-06-13T10:36:10.7887689Z       "stages": {
2026-06-13T10:36:10.7887771Z         "doc": {
2026-06-13T10:36:10.7887866Z           "complete": true,
2026-06-13T10:36:10.7887946Z           "evidence": [
2026-06-13T10:36:10.7888037Z             {
2026-06-13T10:36:10.7888132Z               "path": "docs/MANIFEST.md",
2026-06-13T10:36:10.7888213Z               "line": 19
2026-06-13T10:36:10.7888304Z             }
2026-06-13T10:36:10.7888382Z           ]
2026-06-13T10:36:10.7888471Z         },
2026-06-13T10:36:10.7888628Z         "impl": {
2026-06-13T10:36:10.7888711Z           "complete": true,
2026-06-13T10:36:10.7888800Z           "evidence": [
2026-06-13T10:36:10.7888876Z             {
2026-06-13T10:36:10.7889082Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.7889167Z               "line": 18
2026-06-13T10:36:10.7889252Z             }
2026-06-13T10:36:10.7889338Z           ]
2026-06-13T10:36:10.7889422Z         },
2026-06-13T10:36:10.7889502Z         "int": {
2026-06-13T10:36:10.7889583Z           "complete": false,
2026-06-13T10:36:10.7889665Z           "evidence": []
2026-06-13T10:36:10.7889751Z         },
2026-06-13T10:36:10.7889831Z         "unit": {
2026-06-13T10:36:10.7889907Z           "complete": true,
2026-06-13T10:36:10.7889989Z           "evidence": [
2026-06-13T10:36:10.7890075Z             {
2026-06-13T10:36:10.7890198Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.7890280Z               "line": 820
2026-06-13T10:36:10.7890361Z             },
2026-06-13T10:36:10.7890455Z             {
2026-06-13T10:36:10.7890566Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.7890647Z               "line": 934
2026-06-13T10:36:10.7890733Z             },
2026-06-13T10:36:10.7890818Z             {
2026-06-13T10:36:10.7890924Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.7891014Z               "line": 946
2026-06-13T10:36:10.7891099Z             },
2026-06-13T10:36:10.7891180Z             {
2026-06-13T10:36:10.7891301Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.7891381Z               "line": 957
2026-06-13T10:36:10.7891462Z             },
2026-06-13T10:36:10.7891544Z             {
2026-06-13T10:36:10.7891658Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.7891748Z               "line": 974
2026-06-13T10:36:10.7891815Z             },
2026-06-13T10:36:10.7891902Z             {
2026-06-13T10:36:10.7892019Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.7892104Z               "line": 988
2026-06-13T10:36:10.7892190Z             },
2026-06-13T10:36:10.7892271Z             {
2026-06-13T10:36:10.7892389Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.7892469Z               "line": 1053
2026-06-13T10:36:10.7892556Z             },
2026-06-13T10:36:10.7892642Z             {
2026-06-13T10:36:10.7892755Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.7892837Z               "line": 1068
2026-06-13T10:36:10.7892923Z             },
2026-06-13T10:36:10.7893004Z             {
2026-06-13T10:36:10.7893113Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.7893204Z               "line": 1083
2026-06-13T10:36:10.7893285Z             },
2026-06-13T10:36:10.7893366Z             {
2026-06-13T10:36:10.7893476Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.7893557Z               "line": 1094
2026-06-13T10:36:10.7893638Z             }
2026-06-13T10:36:10.7893723Z           ]
2026-06-13T10:36:10.7893806Z         }
2026-06-13T10:36:10.7893891Z       }
2026-06-13T10:36:10.7893971Z     },
2026-06-13T10:36:10.7894048Z     {
2026-06-13T10:36:10.7894135Z       "id": "REQ-MANIFEST-2",
2026-06-13T10:36:10.7894624Z       "title": "Adapter profiles — sparse leaf-replace overlays (shipped + local), composite <adapter>:<profile> addressing, shadow-refusal, tighten-only consent floors",
2026-06-13T10:36:10.7894824Z       "requiredStages": [
2026-06-13T10:36:10.7894908Z         "doc",
2026-06-13T10:36:10.7894993Z         "impl",
2026-06-13T10:36:10.7895070Z         "unit"
2026-06-13T10:36:10.7895156Z       ],
2026-06-13T10:36:10.7895237Z       "stages": {
2026-06-13T10:36:10.7895322Z         "doc": {
2026-06-13T10:36:10.7895413Z           "complete": true,
2026-06-13T10:36:10.7895495Z           "evidence": [
2026-06-13T10:36:10.7895575Z             {
2026-06-13T10:36:10.7895670Z               "path": "CONTEXT.md",
2026-06-13T10:36:10.7895857Z               "line": 75
2026-06-13T10:36:10.7895941Z             }
2026-06-13T10:36:10.7896029Z           ]
2026-06-13T10:36:10.7896110Z         },
2026-06-13T10:36:10.7898850Z         "impl": {
2026-06-13T10:36:10.7899059Z           "complete": true,
2026-06-13T10:36:10.7899150Z           "evidence": [
2026-06-13T10:36:10.7899237Z             {
2026-06-13T10:36:10.7899374Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.7899455Z               "line": 66
2026-06-13T10:36:10.7899537Z             },
2026-06-13T10:36:10.7899614Z             {
2026-06-13T10:36:10.7899745Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T10:36:10.7899830Z               "line": 15
2026-06-13T10:36:10.7899912Z             },
2026-06-13T10:36:10.7899983Z             {
2026-06-13T10:36:10.7900105Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T10:36:10.7900191Z               "line": 65
2026-06-13T10:36:10.7900268Z             },
2026-06-13T10:36:10.7900358Z             {
2026-06-13T10:36:10.7900477Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T10:36:10.7900564Z               "line": 83
2026-06-13T10:36:10.7900645Z             },
2026-06-13T10:36:10.7900720Z             {
2026-06-13T10:36:10.7900840Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T10:36:10.7900921Z               "line": 165
2026-06-13T10:36:10.7900997Z             },
2026-06-13T10:36:10.7901068Z             {
2026-06-13T10:36:10.7901189Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T10:36:10.7901269Z               "line": 326
2026-06-13T10:36:10.7901350Z             },
2026-06-13T10:36:10.7901435Z             {
2026-06-13T10:36:10.7901551Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T10:36:10.7901632Z               "line": 352
2026-06-13T10:36:10.7901712Z             },
2026-06-13T10:36:10.7901789Z             {
2026-06-13T10:36:10.7901907Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T10:36:10.7902008Z               "line": 430
2026-06-13T10:36:10.7902090Z             },
2026-06-13T10:36:10.7902167Z             {
2026-06-13T10:36:10.7902279Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T10:36:10.7902361Z               "line": 455
2026-06-13T10:36:10.7902438Z             },
2026-06-13T10:36:10.7902523Z             {
2026-06-13T10:36:10.7902641Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T10:36:10.7902727Z               "line": 478
2026-06-13T10:36:10.7902799Z             },
2026-06-13T10:36:10.7902878Z             {
2026-06-13T10:36:10.7902991Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T10:36:10.7903072Z               "line": 493
2026-06-13T10:36:10.7903145Z             },
2026-06-13T10:36:10.7903230Z             {
2026-06-13T10:36:10.7903334Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7903422Z               "line": 4539
2026-06-13T10:36:10.7903517Z             },
2026-06-13T10:36:10.7903597Z             {
2026-06-13T10:36:10.7903702Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7903793Z               "line": 4553
2026-06-13T10:36:10.7903869Z             },
2026-06-13T10:36:10.7903950Z             {
2026-06-13T10:36:10.7904046Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7904136Z               "line": 4587
2026-06-13T10:36:10.7904371Z             }
2026-06-13T10:36:10.7904451Z           ]
2026-06-13T10:36:10.7904536Z         },
2026-06-13T10:36:10.7904617Z         "int": {
2026-06-13T10:36:10.7904714Z           "complete": false,
2026-06-13T10:36:10.7904803Z           "evidence": []
2026-06-13T10:36:10.7904880Z         },
2026-06-13T10:36:10.7904962Z         "unit": {
2026-06-13T10:36:10.7905057Z           "complete": true,
2026-06-13T10:36:10.7905146Z           "evidence": [
2026-06-13T10:36:10.7905231Z             {
2026-06-13T10:36:10.7905355Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T10:36:10.7905543Z               "line": 920
2026-06-13T10:36:10.7905625Z             },
2026-06-13T10:36:10.7905707Z             {
2026-06-13T10:36:10.7905830Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T10:36:10.7905921Z               "line": 193
2026-06-13T10:36:10.7906002Z             },
2026-06-13T10:36:10.7906083Z             {
2026-06-13T10:36:10.7906201Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T10:36:10.7906293Z               "line": 254
2026-06-13T10:36:10.7906379Z             },
2026-06-13T10:36:10.7906464Z             {
2026-06-13T10:36:10.7906579Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T10:36:10.7906660Z               "line": 295
2026-06-13T10:36:10.7906750Z             },
2026-06-13T10:36:10.7906831Z             {
2026-06-13T10:36:10.7906951Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T10:36:10.7907037Z               "line": 307
2026-06-13T10:36:10.7907118Z             },
2026-06-13T10:36:10.7907218Z             {
2026-06-13T10:36:10.7907332Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T10:36:10.7907423Z               "line": 318
2026-06-13T10:36:10.7907504Z             },
2026-06-13T10:36:10.7907581Z             {
2026-06-13T10:36:10.7907694Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T10:36:10.7907789Z               "line": 327
2026-06-13T10:36:10.7907882Z             },
2026-06-13T10:36:10.7907958Z             {
2026-06-13T10:36:10.7908079Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T10:36:10.7908165Z               "line": 343
2026-06-13T10:36:10.7908247Z             },
2026-06-13T10:36:10.7908329Z             {
2026-06-13T10:36:10.7908442Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T10:36:10.7908528Z               "line": 400
2026-06-13T10:36:10.7908609Z             },
2026-06-13T10:36:10.7908690Z             {
2026-06-13T10:36:10.7908804Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T10:36:10.7908901Z               "line": 681
2026-06-13T10:36:10.7909066Z             },
2026-06-13T10:36:10.7909153Z             {
2026-06-13T10:36:10.7909272Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T10:36:10.7909362Z               "line": 705
2026-06-13T10:36:10.7909448Z             },
2026-06-13T10:36:10.7909526Z             {
2026-06-13T10:36:10.7909649Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T10:36:10.7909739Z               "line": 731
2026-06-13T10:36:10.7909816Z             },
2026-06-13T10:36:10.7909901Z             {
2026-06-13T10:36:10.7910010Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T10:36:10.7910097Z               "line": 750
2026-06-13T10:36:10.7910179Z             },
2026-06-13T10:36:10.7910263Z             {
2026-06-13T10:36:10.7910386Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T10:36:10.7910472Z               "line": 781
2026-06-13T10:36:10.7910562Z             },
2026-06-13T10:36:10.7910642Z             {
2026-06-13T10:36:10.7910761Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T10:36:10.7910847Z               "line": 309
2026-06-13T10:36:10.7910932Z             },
2026-06-13T10:36:10.7911013Z             {
2026-06-13T10:36:10.7911119Z               "path": "crates/spt/src/api/mod.rs",
2026-06-13T10:36:10.7911314Z               "line": 477
2026-06-13T10:36:10.7911395Z             },
2026-06-13T10:36:10.7911476Z             {
2026-06-13T10:36:10.7911576Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7911666Z               "line": 6261
2026-06-13T10:36:10.7911749Z             },
2026-06-13T10:36:10.7911829Z             {
2026-06-13T10:36:10.7911928Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7912015Z               "line": 7140
2026-06-13T10:36:10.7912102Z             }
2026-06-13T10:36:10.7912177Z           ]
2026-06-13T10:36:10.7912267Z         }
2026-06-13T10:36:10.7912349Z       }
2026-06-13T10:36:10.7912530Z     },
2026-06-13T10:36:10.7912616Z     {
2026-06-13T10:36:10.7912713Z       "id": "REQ-MANIFEST-3",
2026-06-13T10:36:10.7913363Z       "title": "Adapter strings — [strings] KV tree, dot-path get-string resolving through the profile leaf-replace overlay, set-string editing a local profile's [strings] only; data-only (nothing executes a string)",
2026-06-13T10:36:10.7913470Z       "requiredStages": [
2026-06-13T10:36:10.7913556Z         "doc",
2026-06-13T10:36:10.7913637Z         "impl",
2026-06-13T10:36:10.7913714Z         "unit"
2026-06-13T10:36:10.7913795Z       ],
2026-06-13T10:36:10.7913880Z       "stages": {
2026-06-13T10:36:10.7913962Z         "doc": {
2026-06-13T10:36:10.7914053Z           "complete": true,
2026-06-13T10:36:10.7914142Z           "evidence": [
2026-06-13T10:36:10.7914228Z             {
2026-06-13T10:36:10.7914316Z               "path": "CONTEXT.md",
2026-06-13T10:36:10.7914401Z               "line": 81
2026-06-13T10:36:10.7914481Z             }
2026-06-13T10:36:10.7914572Z           ]
2026-06-13T10:36:10.7914649Z         },
2026-06-13T10:36:10.7914725Z         "impl": {
2026-06-13T10:36:10.7914815Z           "complete": true,
2026-06-13T10:36:10.7914892Z           "evidence": [
2026-06-13T10:36:10.7914973Z             {
2026-06-13T10:36:10.7915091Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.7915172Z               "line": 76
2026-06-13T10:36:10.7915250Z             },
2026-06-13T10:36:10.7915331Z             {
2026-06-13T10:36:10.7915450Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T10:36:10.7915527Z               "line": 101
2026-06-13T10:36:10.7915603Z             },
2026-06-13T10:36:10.7915683Z             {
2026-06-13T10:36:10.7915801Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T10:36:10.7915882Z               "line": 114
2026-06-13T10:36:10.7915963Z             },
2026-06-13T10:36:10.7916042Z             {
2026-06-13T10:36:10.7916156Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T10:36:10.7916238Z               "line": 376
2026-06-13T10:36:10.7916310Z             },
2026-06-13T10:36:10.7916381Z             {
2026-06-13T10:36:10.7916499Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T10:36:10.7916577Z               "line": 392
2026-06-13T10:36:10.7916653Z             },
2026-06-13T10:36:10.7916733Z             {
2026-06-13T10:36:10.7916839Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7916929Z               "line": 4600
2026-06-13T10:36:10.7917006Z             },
2026-06-13T10:36:10.7917081Z             {
2026-06-13T10:36:10.7917183Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7917263Z               "line": 4622
2026-06-13T10:36:10.7917344Z             }
2026-06-13T10:36:10.7917425Z           ]
2026-06-13T10:36:10.7917502Z         },
2026-06-13T10:36:10.7917583Z         "int": {
2026-06-13T10:36:10.7917673Z           "complete": false,
2026-06-13T10:36:10.7917744Z           "evidence": []
2026-06-13T10:36:10.7917836Z         },
2026-06-13T10:36:10.7917906Z         "unit": {
2026-06-13T10:36:10.7918002Z           "complete": true,
2026-06-13T10:36:10.7918079Z           "evidence": [
2026-06-13T10:36:10.7918165Z             {
2026-06-13T10:36:10.7918278Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T10:36:10.7918354Z               "line": 353
2026-06-13T10:36:10.7918513Z             },
2026-06-13T10:36:10.7918588Z             {
2026-06-13T10:36:10.7918697Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T10:36:10.7918783Z               "line": 385
2026-06-13T10:36:10.7918875Z             },
2026-06-13T10:36:10.7919040Z             {
2026-06-13T10:36:10.7919151Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T10:36:10.7919232Z               "line": 805
2026-06-13T10:36:10.7919311Z             },
2026-06-13T10:36:10.7919394Z             {
2026-06-13T10:36:10.7919494Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7919684Z               "line": 6316
2026-06-13T10:36:10.7919766Z             }
2026-06-13T10:36:10.7919841Z           ]
2026-06-13T10:36:10.7919922Z         }
2026-06-13T10:36:10.7920008Z       }
2026-06-13T10:36:10.7920086Z     },
2026-06-13T10:36:10.7920161Z     {
2026-06-13T10:36:10.7920246Z       "id": "REQ-MANIFEST-4",
2026-06-13T10:36:10.7920937Z       "title": "Keyword hints — [[hints]] {keywords (literal/regex), text}; spt api hint --session emits at most one matched hint per message, once per session (seen-set), declaration-order first match; profiles overlay [[hints]] by leaf-replace",
2026-06-13T10:36:10.7921042Z       "requiredStages": [
2026-06-13T10:36:10.7921122Z         "doc",
2026-06-13T10:36:10.7921206Z         "impl",
2026-06-13T10:36:10.7921292Z         "unit"
2026-06-13T10:36:10.7921374Z       ],
2026-06-13T10:36:10.7921455Z       "stages": {
2026-06-13T10:36:10.7921540Z         "doc": {
2026-06-13T10:36:10.7921621Z           "complete": true,
2026-06-13T10:36:10.7921708Z           "evidence": [
2026-06-13T10:36:10.7921798Z             {
2026-06-13T10:36:10.7921898Z               "path": "CONTEXT.md",
2026-06-13T10:36:10.7921985Z               "line": 86
2026-06-13T10:36:10.7922070Z             }
2026-06-13T10:36:10.7922141Z           ]
2026-06-13T10:36:10.7922222Z         },
2026-06-13T10:36:10.7922309Z         "impl": {
2026-06-13T10:36:10.7922389Z           "complete": true,
2026-06-13T10:36:10.7922479Z           "evidence": [
2026-06-13T10:36:10.7922560Z             {
2026-06-13T10:36:10.7922708Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.7922813Z               "line": 84
2026-06-13T10:36:10.7922895Z             },
2026-06-13T10:36:10.7922977Z             {
2026-06-13T10:36:10.7923114Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.7923205Z               "line": 148
2026-06-13T10:36:10.7923291Z             },
2026-06-13T10:36:10.7923366Z             {
2026-06-13T10:36:10.7923486Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7923573Z               "line": 83
2026-06-13T10:36:10.7923658Z             },
2026-06-13T10:36:10.7923742Z             {
2026-06-13T10:36:10.7923866Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.7923952Z               "line": 437
2026-06-13T10:36:10.7924031Z             },
2026-06-13T10:36:10.7924107Z             {
2026-06-13T10:36:10.7924255Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.7924369Z               "line": 462
2026-06-13T10:36:10.7924450Z             }
2026-06-13T10:36:10.7924537Z           ]
2026-06-13T10:36:10.7924613Z         },
2026-06-13T10:36:10.7924688Z         "int": {
2026-06-13T10:36:10.7924783Z           "complete": false,
2026-06-13T10:36:10.7924866Z           "evidence": []
2026-06-13T10:36:10.7924951Z         },
2026-06-13T10:36:10.7925031Z         "unit": {
2026-06-13T10:36:10.7925123Z           "complete": true,
2026-06-13T10:36:10.7925209Z           "evidence": [
2026-06-13T10:36:10.7925294Z             {
2026-06-13T10:36:10.7925413Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.7925496Z               "line": 1003
2026-06-13T10:36:10.7925585Z             },
2026-06-13T10:36:10.7925661Z             {
2026-06-13T10:36:10.7925781Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.7925867Z               "line": 1036
2026-06-13T10:36:10.7926048Z             },
2026-06-13T10:36:10.7926135Z             {
2026-06-13T10:36:10.7926243Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.7926337Z               "line": 739
2026-06-13T10:36:10.7926404Z             }
2026-06-13T10:36:10.7926490Z           ]
2026-06-13T10:36:10.7926574Z         }
2026-06-13T10:36:10.7926678Z       }
2026-06-13T10:36:10.7926755Z     },
2026-06-13T10:36:10.7926841Z     {
2026-06-13T10:36:10.7926936Z       "id": "REQ-MESH-1",
2026-06-13T10:36:10.7929064Z       "title": "Membership proof (seed-proof): symmetric current-epoch seed-knowledge replaces is_trusted at EVERY inbound gate (registry apply, WAN receive, sync, notif, connection accept). MK = HKDF(seed, domain ‖ subnet_id ‖ seed_epoch); mutual channel-bound challenge-response at connect (transcript binds both handshake-proven node pubkeys, both nonces, subnet_id, seed_epoch, role); verified once per connection, cached on the broker ConnEntry, kept warm via QUIC keep-alive so re-proof is restart/partition/rotation-only. Exact-epoch match (re-seed is the sole N-1 exception). SECURITY INVARIANTS: channel-bound (no cross-connection replay), mutual, accepts a member it never paired (the mesh property).",
2026-06-13T10:36:10.7929285Z       "requiredStages": [
2026-06-13T10:36:10.7929372Z         "impl",
2026-06-13T10:36:10.7929472Z         "unit",
2026-06-13T10:36:10.7929562Z         "int"
2026-06-13T10:36:10.7929634Z       ],
2026-06-13T10:36:10.7929739Z       "stages": {
2026-06-13T10:36:10.7929839Z         "doc": {
2026-06-13T10:36:10.7929934Z           "complete": false,
2026-06-13T10:36:10.7930030Z           "evidence": []
2026-06-13T10:36:10.7930116Z         },
2026-06-13T10:36:10.7930200Z         "impl": {
2026-06-13T10:36:10.7930278Z           "complete": true,
2026-06-13T10:36:10.7930364Z           "evidence": [
2026-06-13T10:36:10.7930450Z             {
2026-06-13T10:36:10.7930583Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T10:36:10.7930669Z               "line": 680
2026-06-13T10:36:10.7930759Z             },
2026-06-13T10:36:10.7930835Z             {
2026-06-13T10:36:10.7930965Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T10:36:10.7931059Z               "line": 38
2026-06-13T10:36:10.7931136Z             },
2026-06-13T10:36:10.7931217Z             {
2026-06-13T10:36:10.7931342Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T10:36:10.7931430Z               "line": 161
2026-06-13T10:36:10.7931511Z             },
2026-06-13T10:36:10.7931597Z             {
2026-06-13T10:36:10.7931719Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T10:36:10.7931814Z               "line": 206
2026-06-13T10:36:10.7931905Z             },
2026-06-13T10:36:10.7931982Z             {
2026-06-13T10:36:10.7932100Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T10:36:10.7932191Z               "line": 57
2026-06-13T10:36:10.7932277Z             },
2026-06-13T10:36:10.7932358Z             {
2026-06-13T10:36:10.7932486Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T10:36:10.7932578Z               "line": 24
2026-06-13T10:36:10.7932659Z             },
2026-06-13T10:36:10.7932734Z             {
2026-06-13T10:36:10.7932854Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T10:36:10.7932949Z               "line": 142
2026-06-13T10:36:10.7933049Z             },
2026-06-13T10:36:10.7933125Z             {
2026-06-13T10:36:10.7933255Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T10:36:10.7933345Z               "line": 162
2026-06-13T10:36:10.7933435Z             }
2026-06-13T10:36:10.7933513Z           ]
2026-06-13T10:36:10.7933597Z         },
2026-06-13T10:36:10.7933688Z         "int": {
2026-06-13T10:36:10.7933780Z           "complete": true,
2026-06-13T10:36:10.7933871Z           "evidence": [
2026-06-13T10:36:10.7933940Z             {
2026-06-13T10:36:10.7934070Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-13T10:36:10.7934274Z               "line": 67
2026-06-13T10:36:10.7934364Z             },
2026-06-13T10:36:10.7934445Z             {
2026-06-13T10:36:10.7934572Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-13T10:36:10.7934667Z               "line": 93
2026-06-13T10:36:10.7934753Z             },
2026-06-13T10:36:10.7934834Z             {
2026-06-13T10:36:10.7934957Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-13T10:36:10.7935053Z               "line": 117
2026-06-13T10:36:10.7935149Z             },
2026-06-13T10:36:10.7935306Z             {
2026-06-13T10:36:10.7935436Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-13T10:36:10.7935526Z               "line": 134
2026-06-13T10:36:10.7935611Z             }
2026-06-13T10:36:10.7935692Z           ]
2026-06-13T10:36:10.7935784Z         },
2026-06-13T10:36:10.7935869Z         "unit": {
2026-06-13T10:36:10.7935959Z           "complete": true,
2026-06-13T10:36:10.7936061Z           "evidence": [
2026-06-13T10:36:10.7936140Z             {
2026-06-13T10:36:10.7936264Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T10:36:10.7936351Z               "line": 427
2026-06-13T10:36:10.7936437Z             },
2026-06-13T10:36:10.7936521Z             {
2026-06-13T10:36:10.7936647Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T10:36:10.7936742Z               "line": 376
2026-06-13T10:36:10.7936822Z             },
2026-06-13T10:36:10.7936907Z             {
2026-06-13T10:36:10.7937036Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T10:36:10.7937134Z               "line": 412
2026-06-13T10:36:10.7937219Z             },
2026-06-13T10:36:10.7937300Z             {
2026-06-13T10:36:10.7937425Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T10:36:10.7937515Z               "line": 427
2026-06-13T10:36:10.7937601Z             },
2026-06-13T10:36:10.7937697Z             {
2026-06-13T10:36:10.7937825Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T10:36:10.7937915Z               "line": 438
2026-06-13T10:36:10.7937997Z             },
2026-06-13T10:36:10.7938083Z             {
2026-06-13T10:36:10.7938206Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T10:36:10.7938298Z               "line": 449
2026-06-13T10:36:10.7938388Z             },
2026-06-13T10:36:10.7938469Z             {
2026-06-13T10:36:10.7938593Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T10:36:10.7938679Z               "line": 460
2026-06-13T10:36:10.7938779Z             },
2026-06-13T10:36:10.7938859Z             {
2026-06-13T10:36:10.7939079Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T10:36:10.7939174Z               "line": 496
2026-06-13T10:36:10.7939267Z             },
2026-06-13T10:36:10.7939351Z             {
2026-06-13T10:36:10.7939475Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T10:36:10.7939577Z               "line": 519
2026-06-13T10:36:10.7939661Z             },
2026-06-13T10:36:10.7939751Z             {
2026-06-13T10:36:10.7939874Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T10:36:10.7939961Z               "line": 546
2026-06-13T10:36:10.7940051Z             }
2026-06-13T10:36:10.7940131Z           ]
2026-06-13T10:36:10.7940218Z         }
2026-06-13T10:36:10.7940299Z       }
2026-06-13T10:36:10.7940384Z     },
2026-06-13T10:36:10.7940475Z     {
2026-06-13T10:36:10.7940562Z       "id": "REQ-MESH-2",
2026-06-13T10:36:10.7943138Z       "title": "Member roster: node-level union-merge grow-set (per member: pubkey, label, machine_id, last-known address, last-seen — NOT the seed), the discovery directory the mesh dials by. Seeded IN FULL at pairing (seed-holder hands joiner the whole current roster, incl. offline members — folds in deferred pairing-time hostname capture + post-join address seeding); each node authors its own entry stamped with its lease_epoch, merged strictly-greater-wins (the node_label lease); exchanged only over seed-proof'd member connections; forgery-inert (a fake entry names a pubkey that still can't seed-proof). Removal needs a TOMBSTONE — a per-pubkey revoked marker that propagates, dominates the entry, gates admission (seed-proof ∧ ¬tombstoned), and prevents reinsert; cleared by a completed re-pair of that pubkey. Persists through silence (offline member keeps its entry).",
2026-06-13T10:36:10.7943347Z       "requiredStages": [
2026-06-13T10:36:10.7943429Z         "impl",
2026-06-13T10:36:10.7943514Z         "unit",
2026-06-13T10:36:10.7943690Z         "int"
2026-06-13T10:36:10.7943782Z       ],
2026-06-13T10:36:10.7943857Z       "stages": {
2026-06-13T10:36:10.7943938Z         "doc": {
2026-06-13T10:36:10.7944040Z           "complete": false,
2026-06-13T10:36:10.7944125Z           "evidence": []
2026-06-13T10:36:10.7944210Z         },
2026-06-13T10:36:10.7944286Z         "impl": {
2026-06-13T10:36:10.7944388Z           "complete": true,
2026-06-13T10:36:10.7944473Z           "evidence": [
2026-06-13T10:36:10.7944549Z             {
2026-06-13T10:36:10.7944664Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T10:36:10.7944750Z               "line": 569
2026-06-13T10:36:10.7944834Z             },
2026-06-13T10:36:10.7944919Z             {
2026-06-13T10:36:10.7945048Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T10:36:10.7945137Z               "line": 118
2026-06-13T10:36:10.7945217Z             },
2026-06-13T10:36:10.7945299Z             {
2026-06-13T10:36:10.7945414Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T10:36:10.7945499Z               "line": 347
2026-06-13T10:36:10.7945580Z             },
2026-06-13T10:36:10.7945657Z             {
2026-06-13T10:36:10.7945781Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T10:36:10.7945866Z               "line": 389
2026-06-13T10:36:10.7945952Z             },
2026-06-13T10:36:10.7946038Z             {
2026-06-13T10:36:10.7946156Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T10:36:10.7946248Z               "line": 403
2026-06-13T10:36:10.7946325Z             },
2026-06-13T10:36:10.7946414Z             {
2026-06-13T10:36:10.7946529Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T10:36:10.7946621Z               "line": 492
2026-06-13T10:36:10.7946696Z             },
2026-06-13T10:36:10.7946782Z             {
2026-06-13T10:36:10.7946897Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T10:36:10.7946974Z               "line": 507
2026-06-13T10:36:10.7947067Z             },
2026-06-13T10:36:10.7947149Z             {
2026-06-13T10:36:10.7947265Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T10:36:10.7947354Z               "line": 534
2026-06-13T10:36:10.7947434Z             },
2026-06-13T10:36:10.7947514Z             {
2026-06-13T10:36:10.7947638Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T10:36:10.7947732Z               "line": 207
2026-06-13T10:36:10.7947812Z             },
2026-06-13T10:36:10.7947899Z             {
2026-06-13T10:36:10.7948014Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T10:36:10.7948099Z               "line": 755
2026-06-13T10:36:10.7948180Z             },
2026-06-13T10:36:10.7948257Z             {
2026-06-13T10:36:10.7948366Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T10:36:10.7948451Z               "line": 816
2026-06-13T10:36:10.7948534Z             },
2026-06-13T10:36:10.7948609Z             {
2026-06-13T10:36:10.7948733Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T10:36:10.7948829Z               "line": 869
2026-06-13T10:36:10.7948905Z             },
2026-06-13T10:36:10.7949090Z             {
2026-06-13T10:36:10.7949211Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T10:36:10.7949315Z               "line": 891
2026-06-13T10:36:10.7949493Z             },
2026-06-13T10:36:10.7949572Z             {
2026-06-13T10:36:10.7949696Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7949778Z               "line": 122
2026-06-13T10:36:10.7949855Z             },
2026-06-13T10:36:10.7949929Z             {
2026-06-13T10:36:10.7950045Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T10:36:10.7950127Z               "line": 44
2026-06-13T10:36:10.7950212Z             },
2026-06-13T10:36:10.7950287Z             {
2026-06-13T10:36:10.7950401Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T10:36:10.7950597Z               "line": 184
2026-06-13T10:36:10.7950677Z             },
2026-06-13T10:36:10.7950754Z             {
2026-06-13T10:36:10.7950864Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T10:36:10.7950949Z               "line": 211
2026-06-13T10:36:10.7951030Z             },
2026-06-13T10:36:10.7951103Z             {
2026-06-13T10:36:10.7951222Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T10:36:10.7951311Z               "line": 251
2026-06-13T10:36:10.7951393Z             },
2026-06-13T10:36:10.7951479Z             {
2026-06-13T10:36:10.7951593Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T10:36:10.7951689Z               "line": 275
2026-06-13T10:36:10.7951770Z             },
2026-06-13T10:36:10.7951865Z             {
2026-06-13T10:36:10.7951974Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T10:36:10.7952066Z               "line": 289
2026-06-13T10:36:10.7952156Z             },
2026-06-13T10:36:10.7952237Z             {
2026-06-13T10:36:10.7952357Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T10:36:10.7952452Z               "line": 300
2026-06-13T10:36:10.7952536Z             },
2026-06-13T10:36:10.7952622Z             {
2026-06-13T10:36:10.7952736Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T10:36:10.7952830Z               "line": 313
2026-06-13T10:36:10.7952924Z             }
2026-06-13T10:36:10.7953011Z           ]
2026-06-13T10:36:10.7953088Z         },
2026-06-13T10:36:10.7953183Z         "int": {
2026-06-13T10:36:10.7953278Z           "complete": true,
2026-06-13T10:36:10.7953369Z           "evidence": [
2026-06-13T10:36:10.7953459Z             {
2026-06-13T10:36:10.7953587Z               "path": "crates/spt-daemon/tests/rosterprop.rs",
2026-06-13T10:36:10.7953684Z               "line": 116
2026-06-13T10:36:10.7953764Z             },
2026-06-13T10:36:10.7953850Z             {
2026-06-13T10:36:10.7953975Z               "path": "crates/spt-daemon/tests/rosterprop.rs",
2026-06-13T10:36:10.7954074Z               "line": 181
2026-06-13T10:36:10.7954165Z             }
2026-06-13T10:36:10.7954246Z           ]
2026-06-13T10:36:10.7954332Z         },
2026-06-13T10:36:10.7954412Z         "unit": {
2026-06-13T10:36:10.7954507Z           "complete": true,
2026-06-13T10:36:10.7954595Z           "evidence": [
2026-06-13T10:36:10.7954680Z             {
2026-06-13T10:36:10.7954813Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T10:36:10.7954900Z               "line": 999
2026-06-13T10:36:10.7954986Z             },
2026-06-13T10:36:10.7955065Z             {
2026-06-13T10:36:10.7955190Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T10:36:10.7955282Z               "line": 1016
2026-06-13T10:36:10.7955371Z             },
2026-06-13T10:36:10.7955456Z             {
2026-06-13T10:36:10.7955575Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T10:36:10.7955669Z               "line": 1024
2026-06-13T10:36:10.7955749Z             },
2026-06-13T10:36:10.7955839Z             {
2026-06-13T10:36:10.7955955Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T10:36:10.7956045Z               "line": 1048
2026-06-13T10:36:10.7956140Z             },
2026-06-13T10:36:10.7956222Z             {
2026-06-13T10:36:10.7956355Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T10:36:10.7956517Z               "line": 1499
2026-06-13T10:36:10.7956608Z             },
2026-06-13T10:36:10.7956689Z             {
2026-06-13T10:36:10.7956808Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T10:36:10.7956899Z               "line": 347
2026-06-13T10:36:10.7956979Z             },
2026-06-13T10:36:10.7957065Z             {
2026-06-13T10:36:10.7957181Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T10:36:10.7957275Z               "line": 370
2026-06-13T10:36:10.7957360Z             },
2026-06-13T10:36:10.7957442Z             {
2026-06-13T10:36:10.7957562Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T10:36:10.7957738Z               "line": 407
2026-06-13T10:36:10.7957829Z             },
2026-06-13T10:36:10.7957909Z             {
2026-06-13T10:36:10.7958027Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T10:36:10.7958122Z               "line": 431
2026-06-13T10:36:10.7958208Z             },
2026-06-13T10:36:10.7958297Z             {
2026-06-13T10:36:10.7958411Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T10:36:10.7958507Z               "line": 483
2026-06-13T10:36:10.7958588Z             },
2026-06-13T10:36:10.7958673Z             {
2026-06-13T10:36:10.7958784Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T10:36:10.7958874Z               "line": 499
2026-06-13T10:36:10.7959035Z             },
2026-06-13T10:36:10.7959118Z             {
2026-06-13T10:36:10.7959232Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T10:36:10.7959331Z               "line": 514
2026-06-13T10:36:10.7959423Z             },
2026-06-13T10:36:10.7959512Z             {
2026-06-13T10:36:10.7959627Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T10:36:10.7959723Z               "line": 531
2026-06-13T10:36:10.7959808Z             }
2026-06-13T10:36:10.7959899Z           ]
2026-06-13T10:36:10.7959980Z         }
2026-06-13T10:36:10.7960072Z       }
2026-06-13T10:36:10.7960161Z     },
2026-06-13T10:36:10.7960251Z     {
2026-06-13T10:36:10.7960343Z       "id": "REQ-MESH-3",
2026-06-13T10:36:10.7962011Z       "title": "Mesh row fan-out: registry rows stay OWN-AUTHORED; the only change is the push target widens from directly-paired peers to ALL roster members (a wider DIRECT fan-out, never a third-party relay). Every row/message still arrives from its author over a handshake → KNOWN-HAZARDS 7.5 (origin = handshake node) and 4.10 (eviction lease: any future update comes from that node itself, alive) PRESERVED VERBATIM. Closes the staggered A→B→C repro: C (roster-seeded with A at pairing) initiates to A, seed-proof admits C unpaired, A learns C, both push directly.",
2026-06-13T10:36:10.7962110Z       "requiredStages": [
2026-06-13T10:36:10.7962201Z         "impl",
2026-06-13T10:36:10.7962283Z         "unit",
2026-06-13T10:36:10.7962368Z         "int"
2026-06-13T10:36:10.7962449Z       ],
2026-06-13T10:36:10.7962539Z       "stages": {
2026-06-13T10:36:10.7962627Z         "doc": {
2026-06-13T10:36:10.7962725Z           "complete": false,
2026-06-13T10:36:10.7962816Z           "evidence": []
2026-06-13T10:36:10.7962898Z         },
2026-06-13T10:36:10.7962984Z         "impl": {
2026-06-13T10:36:10.7963064Z           "complete": true,
2026-06-13T10:36:10.7963158Z           "evidence": [
2026-06-13T10:36:10.7963254Z             {
2026-06-13T10:36:10.7963376Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.7963466Z               "line": 641
2026-06-13T10:36:10.7963547Z             }
2026-06-13T10:36:10.7963624Z           ]
2026-06-13T10:36:10.7963700Z         },
2026-06-13T10:36:10.7963789Z         "int": {
2026-06-13T10:36:10.7963881Z           "complete": true,
2026-06-13T10:36:10.7963963Z           "evidence": [
2026-06-13T10:36:10.7964043Z             {
2026-06-13T10:36:10.7964162Z               "path": "crates/spt-daemon/tests/mesh.rs",
2026-06-13T10:36:10.7964253Z               "line": 373
2026-06-13T10:36:10.7964334Z             },
2026-06-13T10:36:10.7964516Z             {
2026-06-13T10:36:10.7964635Z               "path": "crates/spt-daemon/tests/mesh.rs",
2026-06-13T10:36:10.7964715Z               "line": 436
2026-06-13T10:36:10.7964796Z             }
2026-06-13T10:36:10.7964873Z           ]
2026-06-13T10:36:10.7964959Z         },
2026-06-13T10:36:10.7965040Z         "unit": {
2026-06-13T10:36:10.7965135Z           "complete": true,
2026-06-13T10:36:10.7965217Z           "evidence": [
2026-06-13T10:36:10.7965301Z             {
2026-06-13T10:36:10.7965426Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.7965517Z               "line": 910
2026-06-13T10:36:10.7965693Z             }
2026-06-13T10:36:10.7965775Z           ]
2026-06-13T10:36:10.7965861Z         }
2026-06-13T10:36:10.7965950Z       }
2026-06-13T10:36:10.7966021Z     },
2026-06-13T10:36:10.7966097Z     {
2026-06-13T10:36:10.7966183Z       "id": "REQ-MESH-4",
2026-06-13T10:36:10.7968337Z       "title": "Revoke + timeboxed seed rotation + re-seed grace: `spt subnet revoke <node>...` (list, elevation-gated, revoke-only) writes roster tombstones immediately, then schedules ONE seed rotation (re-mint seed, bump seed_epoch, push new seed CONFIDENTIALLY over member-auth'd TLS connections — never in roster/registry gossip — force-drop revokees) at the close of a coalescing window (default 1h); further revokes in the window join the same rotation (one epoch bump). `--force-rotate-seed` rotates immediately (compromised-node path). RE-SEED GRACE: a node proving the immediately-prior epoch (N-1) AND still on the roster gets a re-seed-only restricted connection (auto-heals a benign offliner); revoked/off-roster denied; ≥2 stale → re-pair.",
2026-06-13T10:36:10.7968437Z       "requiredStages": [
2026-06-13T10:36:10.7968516Z         "impl",
2026-06-13T10:36:10.7968606Z         "unit",
2026-06-13T10:36:10.7968692Z         "int"
2026-06-13T10:36:10.7968773Z       ],
2026-06-13T10:36:10.7968861Z       "stages": {
2026-06-13T10:36:10.7968933Z         "doc": {
2026-06-13T10:36:10.7969116Z           "complete": false,
2026-06-13T10:36:10.7969204Z           "evidence": []
2026-06-13T10:36:10.7972470Z         },
2026-06-13T10:36:10.7972585Z         "impl": {
2026-06-13T10:36:10.7972690Z           "complete": true,
2026-06-13T10:36:10.7972789Z           "evidence": [
2026-06-13T10:36:10.7972867Z             {
2026-06-13T10:36:10.7973004Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-13T10:36:10.7973099Z               "line": 33
2026-06-13T10:36:10.7973177Z             },
2026-06-13T10:36:10.7973253Z             {
2026-06-13T10:36:10.7973395Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T10:36:10.7973507Z               "line": 68
2026-06-13T10:36:10.7973577Z             },
2026-06-13T10:36:10.7973666Z             {
2026-06-13T10:36:10.7973785Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T10:36:10.7973875Z               "line": 111
2026-06-13T10:36:10.7973959Z             },
2026-06-13T10:36:10.7974044Z             {
2026-06-13T10:36:10.7974174Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T10:36:10.7974264Z               "line": 462
2026-06-13T10:36:10.7974354Z             },
2026-06-13T10:36:10.7974436Z             {
2026-06-13T10:36:10.7974556Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T10:36:10.7974646Z               "line": 711
2026-06-13T10:36:10.7974727Z             },
2026-06-13T10:36:10.7974818Z             {
2026-06-13T10:36:10.7974932Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T10:36:10.7975022Z               "line": 725
2026-06-13T10:36:10.7975105Z             },
2026-06-13T10:36:10.7975195Z             {
2026-06-13T10:36:10.7975308Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.7975400Z               "line": 132
2026-06-13T10:36:10.7975485Z             },
2026-06-13T10:36:10.7975566Z             {
2026-06-13T10:36:10.7975690Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-13T10:36:10.7975919Z               "line": 26
2026-06-13T10:36:10.7976010Z             },
2026-06-13T10:36:10.7976091Z             {
2026-06-13T10:36:10.7976209Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-13T10:36:10.7976306Z               "line": 97
2026-06-13T10:36:10.7976383Z             },
2026-06-13T10:36:10.7976468Z             {
2026-06-13T10:36:10.7976585Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-13T10:36:10.7976676Z               "line": 119
2026-06-13T10:36:10.7976757Z             },
2026-06-13T10:36:10.7976846Z             {
2026-06-13T10:36:10.7976960Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T10:36:10.7977142Z               "line": 82
2026-06-13T10:36:10.7977226Z             },
2026-06-13T10:36:10.7977308Z             {
2026-06-13T10:36:10.7977423Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T10:36:10.7977513Z               "line": 111
2026-06-13T10:36:10.7977594Z             },
2026-06-13T10:36:10.7977676Z             {
2026-06-13T10:36:10.7977790Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T10:36:10.7977879Z               "line": 232
2026-06-13T10:36:10.7977967Z             },
2026-06-13T10:36:10.7978052Z             {
2026-06-13T10:36:10.7978161Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T10:36:10.7978247Z               "line": 245
2026-06-13T10:36:10.7978329Z             },
2026-06-13T10:36:10.7978409Z             {
2026-06-13T10:36:10.7978519Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7978611Z               "line": 3785
2026-06-13T10:36:10.7978692Z             }
2026-06-13T10:36:10.7978791Z           ]
2026-06-13T10:36:10.7978868Z         },
2026-06-13T10:36:10.7979062Z         "int": {
2026-06-13T10:36:10.7979152Z           "complete": true,
2026-06-13T10:36:10.7979248Z           "evidence": [
2026-06-13T10:36:10.7979328Z             {
2026-06-13T10:36:10.7979459Z               "path": "crates/spt-daemon/tests/reseed.rs",
2026-06-13T10:36:10.7979556Z               "line": 98
2026-06-13T10:36:10.7979637Z             },
2026-06-13T10:36:10.7979727Z             {
2026-06-13T10:36:10.7979841Z               "path": "crates/spt-daemon/tests/reseed.rs",
2026-06-13T10:36:10.7979938Z               "line": 140
2026-06-13T10:36:10.7980019Z             }
2026-06-13T10:36:10.7980103Z           ]
2026-06-13T10:36:10.7980190Z         },
2026-06-13T10:36:10.7980271Z         "unit": {
2026-06-13T10:36:10.7980371Z           "complete": true,
2026-06-13T10:36:10.7980456Z           "evidence": [
2026-06-13T10:36:10.7980543Z             {
2026-06-13T10:36:10.7980676Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-13T10:36:10.7980776Z               "line": 178
2026-06-13T10:36:10.7980863Z             },
2026-06-13T10:36:10.7980947Z             {
2026-06-13T10:36:10.7981076Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-13T10:36:10.7981168Z               "line": 242
2026-06-13T10:36:10.7981253Z             },
2026-06-13T10:36:10.7981339Z             {
2026-06-13T10:36:10.7981464Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T10:36:10.7981554Z               "line": 1079
2026-06-13T10:36:10.7981638Z             },
2026-06-13T10:36:10.7981725Z             {
2026-06-13T10:36:10.7981841Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T10:36:10.7981934Z               "line": 1109
2026-06-13T10:36:10.7982015Z             },
2026-06-13T10:36:10.7982110Z             {
2026-06-13T10:36:10.7982226Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T10:36:10.7982315Z               "line": 1129
2026-06-13T10:36:10.7982405Z             },
2026-06-13T10:36:10.7982483Z             {
2026-06-13T10:36:10.7982620Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T10:36:10.7982705Z               "line": 602
2026-06-13T10:36:10.7982793Z             },
2026-06-13T10:36:10.7982878Z             {
2026-06-13T10:36:10.7982992Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-13T10:36:10.7983188Z               "line": 148
2026-06-13T10:36:10.7983273Z             },
2026-06-13T10:36:10.7983359Z             {
2026-06-13T10:36:10.7983474Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-13T10:36:10.7983574Z               "line": 169
2026-06-13T10:36:10.7983655Z             },
2026-06-13T10:36:10.7983737Z             {
2026-06-13T10:36:10.7983850Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-13T10:36:10.7983936Z               "line": 181
2026-06-13T10:36:10.7984028Z             },
2026-06-13T10:36:10.7984109Z             {
2026-06-13T10:36:10.7984316Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-13T10:36:10.7984407Z               "line": 202
2026-06-13T10:36:10.7984491Z             },
2026-06-13T10:36:10.7984572Z             {
2026-06-13T10:36:10.7984691Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T10:36:10.7984778Z               "line": 375
2026-06-13T10:36:10.7984872Z             },
2026-06-13T10:36:10.7984953Z             {
2026-06-13T10:36:10.7985054Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T10:36:10.7985139Z               "line": 407
2026-06-13T10:36:10.7985225Z             },
2026-06-13T10:36:10.7985301Z             {
2026-06-13T10:36:10.7985402Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7985496Z               "line": 7633
2026-06-13T10:36:10.7985572Z             }
2026-06-13T10:36:10.7985655Z           ]
2026-06-13T10:36:10.7985740Z         }
2026-06-13T10:36:10.7985821Z       }
2026-06-13T10:36:10.7985907Z     },
2026-06-13T10:36:10.7986003Z     {
2026-06-13T10:36:10.7986098Z       "id": "REQ-MESH-5",
2026-06-13T10:36:10.7987491Z       "title": "Hard cutover from pairwise trust: delete peers.json + the is_trusted authorization path (no migration — expendable test fleet, re-pairs fresh under the new model, user decision 2026-06-08). Warn-on-change DEMOTED from a gate to an awareness notice anchored on machine_id (not label): 'machine M, last seen as K1, now presents K2' — fires the same event as the REQ-SUBNET-7 re-pair overwrite. The TrustStore/peers.json code and its call sites are removed, not left dead.",
2026-06-13T10:36:10.7987592Z       "requiredStages": [
2026-06-13T10:36:10.7987673Z         "impl",
2026-06-13T10:36:10.7987754Z         "unit"
2026-06-13T10:36:10.7987835Z       ],
2026-06-13T10:36:10.7987912Z       "stages": {
2026-06-13T10:36:10.7987997Z         "doc": {
2026-06-13T10:36:10.7988087Z           "complete": false,
2026-06-13T10:36:10.7988183Z           "evidence": []
2026-06-13T10:36:10.7988265Z         },
2026-06-13T10:36:10.7988360Z         "impl": {
2026-06-13T10:36:10.7988454Z           "complete": true,
2026-06-13T10:36:10.7988536Z           "evidence": [
2026-06-13T10:36:10.7988617Z             {
2026-06-13T10:36:10.7988750Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T10:36:10.7988847Z               "line": 61
2026-06-13T10:36:10.7988918Z             },
2026-06-13T10:36:10.7989108Z             {
2026-06-13T10:36:10.7989233Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T10:36:10.7989322Z               "line": 109
2026-06-13T10:36:10.7989403Z             },
2026-06-13T10:36:10.7989486Z             {
2026-06-13T10:36:10.7989609Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T10:36:10.7989693Z               "line": 104
2026-06-13T10:36:10.7989769Z             },
2026-06-13T10:36:10.7989850Z             {
2026-06-13T10:36:10.7989968Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T10:36:10.7990053Z               "line": 105
2026-06-13T10:36:10.7990139Z             },
2026-06-13T10:36:10.7990226Z             {
2026-06-13T10:36:10.7990344Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7990430Z               "line": 85
2026-06-13T10:36:10.7990512Z             },
2026-06-13T10:36:10.7990598Z             {
2026-06-13T10:36:10.7990720Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7990926Z               "line": 234
2026-06-13T10:36:10.7991011Z             },
2026-06-13T10:36:10.7991093Z             {
2026-06-13T10:36:10.7991216Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7991312Z               "line": 298
2026-06-13T10:36:10.7991394Z             },
2026-06-13T10:36:10.7991480Z             {
2026-06-13T10:36:10.7991598Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7991684Z               "line": 687
2026-06-13T10:36:10.7991771Z             },
2026-06-13T10:36:10.7991850Z             {
2026-06-13T10:36:10.7992072Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T10:36:10.7992156Z               "line": 101
2026-06-13T10:36:10.7992242Z             },
2026-06-13T10:36:10.7992324Z             {
2026-06-13T10:36:10.7992443Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T10:36:10.7992532Z               "line": 193
2026-06-13T10:36:10.7992617Z             }
2026-06-13T10:36:10.7992704Z           ]
2026-06-13T10:36:10.7992786Z         },
2026-06-13T10:36:10.7992870Z         "int": {
2026-06-13T10:36:10.7992960Z           "complete": false,
2026-06-13T10:36:10.7993052Z           "evidence": []
2026-06-13T10:36:10.7993138Z         },
2026-06-13T10:36:10.7993223Z         "unit": {
2026-06-13T10:36:10.7993314Z           "complete": true,
2026-06-13T10:36:10.7993400Z           "evidence": [
2026-06-13T10:36:10.7993485Z             {
2026-06-13T10:36:10.7993605Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.7993696Z               "line": 927
2026-06-13T10:36:10.7993791Z             },
2026-06-13T10:36:10.7993871Z             {
2026-06-13T10:36:10.7993992Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T10:36:10.7994076Z               "line": 462
2026-06-13T10:36:10.7994162Z             }
2026-06-13T10:36:10.7994244Z           ]
2026-06-13T10:36:10.7994326Z         }
2026-06-13T10:36:10.7994415Z       }
2026-06-13T10:36:10.7994501Z     },
2026-06-13T10:36:10.7994583Z     {
2026-06-13T10:36:10.7994674Z       "id": "REQ-MESH-6",
2026-06-13T10:36:10.7995924Z       "title": "Concurrent liveness probes: `spt subnet status --nodes` fans out its offline/serve-probes (REQ-SUBNET-5) CONCURRENTLY — total wall-time bounded by the single-probe ceiling (~3s), never k×ceiling. The mesh makes a node see ALL members (many possibly offline), so a serial probe loop would be offline_count×3s. (Planning verifies the current REQ-SUBNET-5 probe loop's behavior and fixes it if serial.)",
2026-06-13T10:36:10.7996024Z       "requiredStages": [
2026-06-13T10:36:10.7996119Z         "impl",
2026-06-13T10:36:10.7996201Z         "unit"
2026-06-13T10:36:10.7996281Z       ],
2026-06-13T10:36:10.7996367Z       "stages": {
2026-06-13T10:36:10.7996447Z         "doc": {
2026-06-13T10:36:10.7996544Z           "complete": false,
2026-06-13T10:36:10.7996634Z           "evidence": []
2026-06-13T10:36:10.7996715Z         },
2026-06-13T10:36:10.7996806Z         "impl": {
2026-06-13T10:36:10.7996892Z           "complete": true,
2026-06-13T10:36:10.7996986Z           "evidence": [
2026-06-13T10:36:10.7997068Z             {
2026-06-13T10:36:10.7997174Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7997273Z               "line": 3308
2026-06-13T10:36:10.7997354Z             }
2026-06-13T10:36:10.7997441Z           ]
2026-06-13T10:36:10.7997517Z         },
2026-06-13T10:36:10.7997602Z         "int": {
2026-06-13T10:36:10.7997691Z           "complete": false,
2026-06-13T10:36:10.7997786Z           "evidence": []
2026-06-13T10:36:10.7997877Z         },
2026-06-13T10:36:10.7997966Z         "unit": {
2026-06-13T10:36:10.7998060Z           "complete": true,
2026-06-13T10:36:10.7998147Z           "evidence": [
2026-06-13T10:36:10.7998228Z             {
2026-06-13T10:36:10.7998333Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7998423Z               "line": 8161
2026-06-13T10:36:10.7998510Z             },
2026-06-13T10:36:10.7998675Z             {
2026-06-13T10:36:10.7998782Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7998867Z               "line": 8188
2026-06-13T10:36:10.7999039Z             },
2026-06-13T10:36:10.7999120Z             {
2026-06-13T10:36:10.7999220Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.7999310Z               "line": 8212
2026-06-13T10:36:10.7999387Z             }
2026-06-13T10:36:10.7999473Z           ]
2026-06-13T10:36:10.7999553Z         }
2026-06-13T10:36:10.7999644Z       }
2026-06-13T10:36:10.7999722Z     },
2026-06-13T10:36:10.7999807Z     {
2026-06-13T10:36:10.8000002Z       "id": "REQ-MIGRATE-1",
2026-06-13T10:36:10.8000178Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-13T10:36:10.8000277Z       "requiredStages": [],
2026-06-13T10:36:10.8000363Z       "stages": {
2026-06-13T10:36:10.8000448Z         "doc": {
2026-06-13T10:36:10.8000537Z           "complete": false,
2026-06-13T10:36:10.8000632Z           "evidence": []
2026-06-13T10:36:10.8000728Z         },
2026-06-13T10:36:10.8000810Z         "impl": {
2026-06-13T10:36:10.8000899Z           "complete": false,
2026-06-13T10:36:10.8000990Z           "evidence": []
2026-06-13T10:36:10.8001077Z         },
2026-06-13T10:36:10.8001158Z         "int": {
2026-06-13T10:36:10.8001252Z           "complete": false,
2026-06-13T10:36:10.8001344Z           "evidence": []
2026-06-13T10:36:10.8001424Z         },
2026-06-13T10:36:10.8001510Z         "unit": {
2026-06-13T10:36:10.8001600Z           "complete": false,
2026-06-13T10:36:10.8001692Z           "evidence": []
2026-06-13T10:36:10.8001781Z         }
2026-06-13T10:36:10.8001862Z       }
2026-06-13T10:36:10.8001949Z     },
2026-06-13T10:36:10.8002035Z     {
2026-06-13T10:36:10.8002130Z       "id": "REQ-MSG-1",
2026-06-13T10:36:10.8002554Z       "title": "Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)",
2026-06-13T10:36:10.8002665Z       "requiredStages": [
2026-06-13T10:36:10.8002744Z         "impl",
2026-06-13T10:36:10.8002830Z         "unit",
2026-06-13T10:36:10.8002913Z         "int"
2026-06-13T10:36:10.8002994Z       ],
2026-06-13T10:36:10.8003082Z       "stages": {
2026-06-13T10:36:10.8003168Z         "doc": {
2026-06-13T10:36:10.8003259Z           "complete": false,
2026-06-13T10:36:10.8003346Z           "evidence": []
2026-06-13T10:36:10.8003435Z         },
2026-06-13T10:36:10.8003520Z         "impl": {
2026-06-13T10:36:10.8003608Z           "complete": true,
2026-06-13T10:36:10.8003698Z           "evidence": [
2026-06-13T10:36:10.8003783Z             {
2026-06-13T10:36:10.8003908Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T10:36:10.8003988Z               "line": 28
2026-06-13T10:36:10.8004069Z             },
2026-06-13T10:36:10.8004150Z             {
2026-06-13T10:36:10.8004261Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T10:36:10.8004341Z               "line": 94
2026-06-13T10:36:10.8004422Z             },
2026-06-13T10:36:10.8004499Z             {
2026-06-13T10:36:10.8004609Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T10:36:10.8004690Z               "line": 127
2026-06-13T10:36:10.8004789Z             },
2026-06-13T10:36:10.8004867Z             {
2026-06-13T10:36:10.8004975Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T10:36:10.8005056Z               "line": 149
2026-06-13T10:36:10.8005133Z             },
2026-06-13T10:36:10.8005215Z             {
2026-06-13T10:36:10.8005323Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T10:36:10.8005422Z               "line": 174
2026-06-13T10:36:10.8005499Z             },
2026-06-13T10:36:10.8005579Z             {
2026-06-13T10:36:10.8005692Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-13T10:36:10.8005787Z               "line": 18
2026-06-13T10:36:10.8005879Z             },
2026-06-13T10:36:10.8005954Z             {
2026-06-13T10:36:10.8006165Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-13T10:36:10.8006260Z               "line": 13
2026-06-13T10:36:10.8006355Z             },
2026-06-13T10:36:10.8006436Z             {
2026-06-13T10:36:10.8006546Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-13T10:36:10.8006636Z               "line": 61
2026-06-13T10:36:10.8006727Z             },
2026-06-13T10:36:10.8006813Z             {
2026-06-13T10:36:10.8006917Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-13T10:36:10.8007008Z               "line": 10
2026-06-13T10:36:10.8007085Z             }
2026-06-13T10:36:10.8007161Z           ]
2026-06-13T10:36:10.8007323Z         },
2026-06-13T10:36:10.8007400Z         "int": {
2026-06-13T10:36:10.8007499Z           "complete": true,
2026-06-13T10:36:10.8007575Z           "evidence": [
2026-06-13T10:36:10.8007656Z             {
2026-06-13T10:36:10.8007795Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-13T10:36:10.8007885Z               "line": 9
2026-06-13T10:36:10.8007967Z             },
2026-06-13T10:36:10.8008044Z             {
2026-06-13T10:36:10.8008171Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-13T10:36:10.8008251Z               "line": 70
2026-06-13T10:36:10.8008332Z             },
2026-06-13T10:36:10.8008409Z             {
2026-06-13T10:36:10.8008535Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-13T10:36:10.8008620Z               "line": 129
2026-06-13T10:36:10.8008703Z             }
2026-06-13T10:36:10.8008784Z           ]
2026-06-13T10:36:10.8008855Z         },
2026-06-13T10:36:10.8009027Z         "unit": {
2026-06-13T10:36:10.8009127Z           "complete": true,
2026-06-13T10:36:10.8009217Z           "evidence": [
2026-06-13T10:36:10.8009289Z             {
2026-06-13T10:36:10.8009394Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T10:36:10.8009489Z               "line": 203
2026-06-13T10:36:10.8009569Z             },
2026-06-13T10:36:10.8009652Z             {
2026-06-13T10:36:10.8009770Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T10:36:10.8009856Z               "line": 232
2026-06-13T10:36:10.8009942Z             },
2026-06-13T10:36:10.8010023Z             {
2026-06-13T10:36:10.8010123Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T10:36:10.8010204Z               "line": 277
2026-06-13T10:36:10.8010287Z             },
2026-06-13T10:36:10.8010362Z             {
2026-06-13T10:36:10.8010471Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T10:36:10.8010558Z               "line": 300
2026-06-13T10:36:10.8010639Z             },
2026-06-13T10:36:10.8010738Z             {
2026-06-13T10:36:10.8010837Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T10:36:10.8010933Z               "line": 324
2026-06-13T10:36:10.8011018Z             },
2026-06-13T10:36:10.8011098Z             {
2026-06-13T10:36:10.8011206Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-13T10:36:10.8011298Z               "line": 203
2026-06-13T10:36:10.8011379Z             },
2026-06-13T10:36:10.8011464Z             {
2026-06-13T10:36:10.8011579Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-13T10:36:10.8011674Z               "line": 236
2026-06-13T10:36:10.8011746Z             },
2026-06-13T10:36:10.8011822Z             {
2026-06-13T10:36:10.8011923Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-13T10:36:10.8012023Z               "line": 250
2026-06-13T10:36:10.8012107Z             },
2026-06-13T10:36:10.8012205Z             {
2026-06-13T10:36:10.8012318Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-13T10:36:10.8012408Z               "line": 262
2026-06-13T10:36:10.8012499Z             },
2026-06-13T10:36:10.8012576Z             {
2026-06-13T10:36:10.8012676Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-13T10:36:10.8012761Z               "line": 158
2026-06-13T10:36:10.8012844Z             },
2026-06-13T10:36:10.8012924Z             {
2026-06-13T10:36:10.8013129Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-13T10:36:10.8013225Z               "line": 241
2026-06-13T10:36:10.8013309Z             },
2026-06-13T10:36:10.8013390Z             {
2026-06-13T10:36:10.8013492Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-13T10:36:10.8013587Z               "line": 68
2026-06-13T10:36:10.8013661Z             },
2026-06-13T10:36:10.8013742Z             {
2026-06-13T10:36:10.8013848Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-13T10:36:10.8013930Z               "line": 77
2026-06-13T10:36:10.8014009Z             },
2026-06-13T10:36:10.8014192Z             {
2026-06-13T10:36:10.8014305Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-13T10:36:10.8014391Z               "line": 83
2026-06-13T10:36:10.8014478Z             },
2026-06-13T10:36:10.8014563Z             {
2026-06-13T10:36:10.8014667Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-13T10:36:10.8014759Z               "line": 102
2026-06-13T10:36:10.8014845Z             }
2026-06-13T10:36:10.8014930Z           ]
2026-06-13T10:36:10.8015016Z         }
2026-06-13T10:36:10.8015093Z       }
2026-06-13T10:36:10.8015187Z     },
2026-06-13T10:36:10.8015268Z     {
2026-06-13T10:36:10.8015359Z       "id": "REQ-MSG-2",
2026-06-13T10:36:10.8015626Z       "title": "spt binary CLI surface: send/ring/ready(+--once)/list/stop/whoami, stable arg shapes + exit codes",
2026-06-13T10:36:10.8015722Z       "requiredStages": [
2026-06-13T10:36:10.8015813Z         "impl",
2026-06-13T10:36:10.8015892Z         "unit"
2026-06-13T10:36:10.8015973Z       ],
2026-06-13T10:36:10.8016068Z       "stages": {
2026-06-13T10:36:10.8016148Z         "doc": {
2026-06-13T10:36:10.8016238Z           "complete": false,
2026-06-13T10:36:10.8016333Z           "evidence": []
2026-06-13T10:36:10.8016415Z         },
2026-06-13T10:36:10.8016496Z         "impl": {
2026-06-13T10:36:10.8016590Z           "complete": true,
2026-06-13T10:36:10.8016677Z           "evidence": [
2026-06-13T10:36:10.8016758Z             {
2026-06-13T10:36:10.8016857Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8016952Z               "line": 11
2026-06-13T10:36:10.8017035Z             },
2026-06-13T10:36:10.8017111Z             {
2026-06-13T10:36:10.8017215Z               "path": "crates/spt/src/main.rs",
2026-06-13T10:36:10.8017297Z               "line": 8
2026-06-13T10:36:10.8017378Z             }
2026-06-13T10:36:10.8017459Z           ]
2026-06-13T10:36:10.8017544Z         },
2026-06-13T10:36:10.8017631Z         "int": {
2026-06-13T10:36:10.8017721Z           "complete": false,
2026-06-13T10:36:10.8017807Z           "evidence": []
2026-06-13T10:36:10.8017888Z         },
2026-06-13T10:36:10.8017970Z         "unit": {
2026-06-13T10:36:10.8018059Z           "complete": true,
2026-06-13T10:36:10.8018150Z           "evidence": [
2026-06-13T10:36:10.8018236Z             {
2026-06-13T10:36:10.8018332Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8018426Z               "line": 5646
2026-06-13T10:36:10.8018512Z             },
2026-06-13T10:36:10.8018594Z             {
2026-06-13T10:36:10.8018698Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8018798Z               "line": 5688
2026-06-13T10:36:10.8018883Z             },
2026-06-13T10:36:10.8019048Z             {
2026-06-13T10:36:10.8019143Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8019224Z               "line": 5737
2026-06-13T10:36:10.8019306Z             },
2026-06-13T10:36:10.8019391Z             {
2026-06-13T10:36:10.8019486Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8019568Z               "line": 5760
2026-06-13T10:36:10.8019649Z             },
2026-06-13T10:36:10.8019725Z             {
2026-06-13T10:36:10.8019824Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8019916Z               "line": 7389
2026-06-13T10:36:10.8019997Z             },
2026-06-13T10:36:10.8020092Z             {
2026-06-13T10:36:10.8020183Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8020402Z               "line": 7398
2026-06-13T10:36:10.8020493Z             },
2026-06-13T10:36:10.8020569Z             {
2026-06-13T10:36:10.8020673Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8020759Z               "line": 7412
2026-06-13T10:36:10.8020842Z             }
2026-06-13T10:36:10.8020927Z           ]
2026-06-13T10:36:10.8021012Z         }
2026-06-13T10:36:10.8021093Z       }
2026-06-13T10:36:10.8021171Z     },
2026-06-13T10:36:10.8021251Z     {
2026-06-13T10:36:10.8021345Z       "id": "REQ-MSG-3",
2026-06-13T10:36:10.8021714Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-13T10:36:10.8021911Z       "requiredStages": [
2026-06-13T10:36:10.8021991Z         "impl",
2026-06-13T10:36:10.8022062Z         "unit",
2026-06-13T10:36:10.8022149Z         "int"
2026-06-13T10:36:10.8022235Z       ],
2026-06-13T10:36:10.8022320Z       "stages": {
2026-06-13T10:36:10.8022420Z         "doc": {
2026-06-13T10:36:10.8022511Z           "complete": false,
2026-06-13T10:36:10.8022602Z           "evidence": []
2026-06-13T10:36:10.8022686Z         },
2026-06-13T10:36:10.8022774Z         "impl": {
2026-06-13T10:36:10.8022864Z           "complete": true,
2026-06-13T10:36:10.8022954Z           "evidence": [
2026-06-13T10:36:10.8023040Z             {
2026-06-13T10:36:10.8023155Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-13T10:36:10.8023245Z               "line": 19
2026-06-13T10:36:10.8023326Z             },
2026-06-13T10:36:10.8023409Z             {
2026-06-13T10:36:10.8023531Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-13T10:36:10.8023617Z               "line": 21
2026-06-13T10:36:10.8023704Z             },
2026-06-13T10:36:10.8023785Z             {
2026-06-13T10:36:10.8023893Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-13T10:36:10.8023985Z               "line": 48
2026-06-13T10:36:10.8024066Z             },
2026-06-13T10:36:10.8024161Z             {
2026-06-13T10:36:10.8024264Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-13T10:36:10.8024360Z               "line": 142
2026-06-13T10:36:10.8024451Z             }
2026-06-13T10:36:10.8024532Z           ]
2026-06-13T10:36:10.8024627Z         },
2026-06-13T10:36:10.8024708Z         "int": {
2026-06-13T10:36:10.8024804Z           "complete": true,
2026-06-13T10:36:10.8024893Z           "evidence": [
2026-06-13T10:36:10.8024980Z             {
2026-06-13T10:36:10.8025118Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-13T10:36:10.8025213Z               "line": 10
2026-06-13T10:36:10.8025299Z             },
2026-06-13T10:36:10.8025381Z             {
2026-06-13T10:36:10.8025514Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-13T10:36:10.8025609Z               "line": 70
2026-06-13T10:36:10.8025687Z             }
2026-06-13T10:36:10.8025771Z           ]
2026-06-13T10:36:10.8025857Z         },
2026-06-13T10:36:10.8025949Z         "unit": {
2026-06-13T10:36:10.8026039Z           "complete": true,
2026-06-13T10:36:10.8026138Z           "evidence": [
2026-06-13T10:36:10.8026225Z             {
2026-06-13T10:36:10.8026331Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-13T10:36:10.8026419Z               "line": 196
2026-06-13T10:36:10.8026500Z             },
2026-06-13T10:36:10.8026591Z             {
2026-06-13T10:36:10.8026695Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-13T10:36:10.8026788Z               "line": 215
2026-06-13T10:36:10.8026878Z             },
2026-06-13T10:36:10.8026965Z             {
2026-06-13T10:36:10.8027075Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-13T10:36:10.8027160Z               "line": 237
2026-06-13T10:36:10.8027246Z             }
2026-06-13T10:36:10.8027332Z           ]
2026-06-13T10:36:10.8027422Z         }
2026-06-13T10:36:10.8027508Z       }
2026-06-13T10:36:10.8027590Z     },
2026-06-13T10:36:10.8027680Z     {
2026-06-13T10:36:10.8027852Z       "id": "REQ-MSG-4",
2026-06-13T10:36:10.8028662Z       "title": "Listener stream stdout emits EVENT envelope lines (sister-format, ADR-0001): parse the __REPLY_TO__ frame, pass pre-formed typed envelopes through verbatim (no double-wrap), compose <EVENT type=\"msg\" from=…> otherwise, chunk oversized lines into EVENT-PART",
2026-06-13T10:36:10.8028762Z       "requiredStages": [
2026-06-13T10:36:10.8028854Z         "impl",
2026-06-13T10:36:10.8029034Z         "unit",
2026-06-13T10:36:10.8029126Z         "int"
2026-06-13T10:36:10.8029207Z       ],
2026-06-13T10:36:10.8029296Z       "stages": {
2026-06-13T10:36:10.8029491Z         "doc": {
2026-06-13T10:36:10.8029585Z           "complete": false,
2026-06-13T10:36:10.8029679Z           "evidence": []
2026-06-13T10:36:10.8029770Z         },
2026-06-13T10:36:10.8029856Z         "impl": {
2026-06-13T10:36:10.8029956Z           "complete": true,
2026-06-13T10:36:10.8030046Z           "evidence": [
2026-06-13T10:36:10.8030133Z             {
2026-06-13T10:36:10.8030257Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-13T10:36:10.8030351Z               "line": 16
2026-06-13T10:36:10.8030433Z             },
2026-06-13T10:36:10.8030519Z             {
2026-06-13T10:36:10.8030632Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-13T10:36:10.8030719Z               "line": 25
2026-06-13T10:36:10.8030801Z             },
2026-06-13T10:36:10.8030886Z             {
2026-06-13T10:36:10.8030991Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-13T10:36:10.8031082Z               "line": 47
2026-06-13T10:36:10.8031167Z             },
2026-06-13T10:36:10.8031262Z             {
2026-06-13T10:36:10.8031382Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.8031473Z               "line": 380
2026-06-13T10:36:10.8031558Z             },
2026-06-13T10:36:10.8031639Z             {
2026-06-13T10:36:10.8031750Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8031839Z               "line": 2437
2026-06-13T10:36:10.8031929Z             }
2026-06-13T10:36:10.8032010Z           ]
2026-06-13T10:36:10.8032095Z         },
2026-06-13T10:36:10.8032180Z         "int": {
2026-06-13T10:36:10.8032274Z           "complete": true,
2026-06-13T10:36:10.8032360Z           "evidence": [
2026-06-13T10:36:10.8032447Z             {
2026-06-13T10:36:10.8032575Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-13T10:36:10.8032661Z               "line": 98
2026-06-13T10:36:10.8032747Z             },
2026-06-13T10:36:10.8032833Z             {
2026-06-13T10:36:10.8032951Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-13T10:36:10.8033057Z               "line": 128
2026-06-13T10:36:10.8033138Z             }
2026-06-13T10:36:10.8033223Z           ]
2026-06-13T10:36:10.8033305Z         },
2026-06-13T10:36:10.8033386Z         "unit": {
2026-06-13T10:36:10.8033476Z           "complete": true,
2026-06-13T10:36:10.8033561Z           "evidence": [
2026-06-13T10:36:10.8033644Z             {
2026-06-13T10:36:10.8033758Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-13T10:36:10.8033853Z               "line": 62
2026-06-13T10:36:10.8033930Z             },
2026-06-13T10:36:10.8034006Z             {
2026-06-13T10:36:10.8034120Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-13T10:36:10.8034210Z               "line": 73
2026-06-13T10:36:10.8034293Z             },
2026-06-13T10:36:10.8034373Z             {
2026-06-13T10:36:10.8034468Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-13T10:36:10.8034555Z               "line": 84
2026-06-13T10:36:10.8034645Z             },
2026-06-13T10:36:10.8034777Z             {
2026-06-13T10:36:10.8034881Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-13T10:36:10.8034973Z               "line": 96
2026-06-13T10:36:10.8035059Z             },
2026-06-13T10:36:10.8035143Z             {
2026-06-13T10:36:10.8035240Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-13T10:36:10.8035335Z               "line": 121
2026-06-13T10:36:10.8035521Z             },
2026-06-13T10:36:10.8035598Z             {
2026-06-13T10:36:10.8035703Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-13T10:36:10.8035787Z               "line": 136
2026-06-13T10:36:10.8035864Z             }
2026-06-13T10:36:10.8035955Z           ]
2026-06-13T10:36:10.8036046Z         }
2026-06-13T10:36:10.8036126Z       }
2026-06-13T10:36:10.8036204Z     },
2026-06-13T10:36:10.8036280Z     {
2026-06-13T10:36:10.8036370Z       "id": "REQ-MSG-5",
2026-06-13T10:36:10.8037074Z       "title": "user-msg envelope kind + daemon identity gate: a Gateway endpoint / the local user's CLI author user-msg (the user's authority); agent-family senders re-stamped to plain msg; identity-gated never payload-trusted (KH 7.3/7.5); wire-additive (N-1 receivers tolerate the new type)",
2026-06-13T10:36:10.8037241Z       "requiredStages": [
2026-06-13T10:36:10.8037320Z         "doc",
2026-06-13T10:36:10.8037410Z         "impl",
2026-06-13T10:36:10.8037487Z         "unit"
2026-06-13T10:36:10.8037568Z       ],
2026-06-13T10:36:10.8037649Z       "stages": {
2026-06-13T10:36:10.8037739Z         "doc": {
2026-06-13T10:36:10.8037830Z           "complete": true,
2026-06-13T10:36:10.8037921Z           "evidence": [
2026-06-13T10:36:10.8038001Z             {
2026-06-13T10:36:10.8038102Z               "path": "CONTEXT.md",
2026-06-13T10:36:10.8038193Z               "line": 210
2026-06-13T10:36:10.8038265Z             }
2026-06-13T10:36:10.8038354Z           ]
2026-06-13T10:36:10.8038432Z         },
2026-06-13T10:36:10.8041202Z         "impl": {
2026-06-13T10:36:10.8041308Z           "complete": true,
2026-06-13T10:36:10.8041403Z           "evidence": [
2026-06-13T10:36:10.8041484Z             {
2026-06-13T10:36:10.8041608Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-13T10:36:10.8041699Z               "line": 56
2026-06-13T10:36:10.8041775Z             },
2026-06-13T10:36:10.8041856Z             {
2026-06-13T10:36:10.8041981Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.8042070Z               "line": 118
2026-06-13T10:36:10.8042151Z             },
2026-06-13T10:36:10.8042233Z             {
2026-06-13T10:36:10.8042352Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.8042432Z               "line": 127
2026-06-13T10:36:10.8042512Z             },
2026-06-13T10:36:10.8042608Z             {
2026-06-13T10:36:10.8042707Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.8042787Z               "line": 141
2026-06-13T10:36:10.8042867Z             },
2026-06-13T10:36:10.8042954Z             {
2026-06-13T10:36:10.8043073Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.8043158Z               "line": 170
2026-06-13T10:36:10.8043245Z             },
2026-06-13T10:36:10.8043327Z             {
2026-06-13T10:36:10.8043440Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8043536Z               "line": 2186
2026-06-13T10:36:10.8043608Z             }
2026-06-13T10:36:10.8043703Z           ]
2026-06-13T10:36:10.8043783Z         },
2026-06-13T10:36:10.8043860Z         "int": {
2026-06-13T10:36:10.8043951Z           "complete": true,
2026-06-13T10:36:10.8044041Z           "evidence": [
2026-06-13T10:36:10.8044122Z             {
2026-06-13T10:36:10.8044242Z               "path": "crates/spt/tests/gateway_e2e.rs",
2026-06-13T10:36:10.8044327Z               "line": 19
2026-06-13T10:36:10.8044394Z             }
2026-06-13T10:36:10.8044485Z           ]
2026-06-13T10:36:10.8044566Z         },
2026-06-13T10:36:10.8044651Z         "unit": {
2026-06-13T10:36:10.8044732Z           "complete": true,
2026-06-13T10:36:10.8044824Z           "evidence": [
2026-06-13T10:36:10.8044905Z             {
2026-06-13T10:36:10.8045023Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-13T10:36:10.8045115Z               "line": 153
2026-06-13T10:36:10.8045201Z             },
2026-06-13T10:36:10.8045281Z             {
2026-06-13T10:36:10.8045398Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-13T10:36:10.8045605Z               "line": 152
2026-06-13T10:36:10.8045690Z             },
2026-06-13T10:36:10.8045766Z             {
2026-06-13T10:36:10.8045867Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-13T10:36:10.8045948Z               "line": 105
2026-06-13T10:36:10.8046032Z             },
2026-06-13T10:36:10.8046110Z             {
2026-06-13T10:36:10.8046229Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.8046319Z               "line": 444
2026-06-13T10:36:10.8046401Z             },
2026-06-13T10:36:10.8046477Z             {
2026-06-13T10:36:10.8046700Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.8046783Z               "line": 493
2026-06-13T10:36:10.8046863Z             },
2026-06-13T10:36:10.8046944Z             {
2026-06-13T10:36:10.8047054Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.8047136Z               "line": 509
2026-06-13T10:36:10.8047220Z             },
2026-06-13T10:36:10.8047301Z             {
2026-06-13T10:36:10.8047413Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T10:36:10.8047503Z               "line": 528
2026-06-13T10:36:10.8047586Z             },
2026-06-13T10:36:10.8047667Z             {
2026-06-13T10:36:10.8047772Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8047866Z               "line": 5589
2026-06-13T10:36:10.8047942Z             }
2026-06-13T10:36:10.8048023Z           ]
2026-06-13T10:36:10.8048100Z         }
2026-06-13T10:36:10.8048185Z       }
2026-06-13T10:36:10.8048266Z     },
2026-06-13T10:36:10.8048347Z     {
2026-06-13T10:36:10.8048443Z       "id": "REQ-NET-1",
2026-06-13T10:36:10.8048614Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-13T10:36:10.8048710Z       "requiredStages": [
2026-06-13T10:36:10.8048786Z         "impl",
2026-06-13T10:36:10.8048867Z         "unit",
2026-06-13T10:36:10.8049025Z         "int"
2026-06-13T10:36:10.8049101Z       ],
2026-06-13T10:36:10.8049187Z       "stages": {
2026-06-13T10:36:10.8049268Z         "doc": {
2026-06-13T10:36:10.8049354Z           "complete": false,
2026-06-13T10:36:10.8049434Z           "evidence": []
2026-06-13T10:36:10.8049511Z         },
2026-06-13T10:36:10.8049592Z         "impl": {
2026-06-13T10:36:10.8049669Z           "complete": true,
2026-06-13T10:36:10.8049754Z           "evidence": [
2026-06-13T10:36:10.8049835Z             {
2026-06-13T10:36:10.8049965Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T10:36:10.8050046Z               "line": 54
2026-06-13T10:36:10.8050135Z             },
2026-06-13T10:36:10.8050217Z             {
2026-06-13T10:36:10.8050342Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T10:36:10.8050421Z               "line": 594
2026-06-13T10:36:10.8050497Z             },
2026-06-13T10:36:10.8050587Z             {
2026-06-13T10:36:10.8050687Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-13T10:36:10.8050775Z               "line": 98
2026-06-13T10:36:10.8050847Z             },
2026-06-13T10:36:10.8050923Z             {
2026-06-13T10:36:10.8051048Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T10:36:10.8051123Z               "line": 97
2026-06-13T10:36:10.8051214Z             },
2026-06-13T10:36:10.8051292Z             {
2026-06-13T10:36:10.8051410Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T10:36:10.8051486Z               "line": 159
2026-06-13T10:36:10.8051563Z             },
2026-06-13T10:36:10.8051653Z             {
2026-06-13T10:36:10.8051767Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T10:36:10.8051868Z               "line": 175
2026-06-13T10:36:10.8051940Z             },
2026-06-13T10:36:10.8052025Z             {
2026-06-13T10:36:10.8052139Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T10:36:10.8052222Z               "line": 190
2026-06-13T10:36:10.8052301Z             },
2026-06-13T10:36:10.8052382Z             {
2026-06-13T10:36:10.8052598Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T10:36:10.8052692Z               "line": 271
2026-06-13T10:36:10.8052769Z             },
2026-06-13T10:36:10.8052846Z             {
2026-06-13T10:36:10.8052959Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T10:36:10.8053049Z               "line": 306
2026-06-13T10:36:10.8053130Z             },
2026-06-13T10:36:10.8053211Z             {
2026-06-13T10:36:10.8053323Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T10:36:10.8053404Z               "line": 312
2026-06-13T10:36:10.8053485Z             },
2026-06-13T10:36:10.8053685Z             {
2026-06-13T10:36:10.8053805Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T10:36:10.8053891Z               "line": 318
2026-06-13T10:36:10.8053976Z             },
2026-06-13T10:36:10.8054057Z             {
2026-06-13T10:36:10.8054168Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T10:36:10.8054268Z               "line": 334
2026-06-13T10:36:10.8054348Z             },
2026-06-13T10:36:10.8054430Z             {
2026-06-13T10:36:10.8054544Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T10:36:10.8054634Z               "line": 354
2026-06-13T10:36:10.8054720Z             },
2026-06-13T10:36:10.8054802Z             {
2026-06-13T10:36:10.8054916Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-13T10:36:10.8055006Z               "line": 35
2026-06-13T10:36:10.8055094Z             },
2026-06-13T10:36:10.8055173Z             {
2026-06-13T10:36:10.8055288Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-13T10:36:10.8055389Z               "line": 85
2026-06-13T10:36:10.8055470Z             },
2026-06-13T10:36:10.8055554Z             {
2026-06-13T10:36:10.8055665Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T10:36:10.8055757Z               "line": 135
2026-06-13T10:36:10.8055836Z             },
2026-06-13T10:36:10.8055921Z             {
2026-06-13T10:36:10.8056045Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8056132Z               "line": 2283
2026-06-13T10:36:10.8056217Z             },
2026-06-13T10:36:10.8056297Z             {
2026-06-13T10:36:10.8056408Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T10:36:10.8056494Z               "line": 17
2026-06-13T10:36:10.8056588Z             }
2026-06-13T10:36:10.8056670Z           ]
2026-06-13T10:36:10.8056756Z         },
2026-06-13T10:36:10.8056837Z         "int": {
2026-06-13T10:36:10.8056926Z           "complete": true,
2026-06-13T10:36:10.8057014Z           "evidence": [
2026-06-13T10:36:10.8057109Z             {
2026-06-13T10:36:10.8057236Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T10:36:10.8057324Z               "line": 341
2026-06-13T10:36:10.8057405Z             },
2026-06-13T10:36:10.8057485Z             {
2026-06-13T10:36:10.8057600Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.8057696Z               "line": 605
2026-06-13T10:36:10.8057776Z             },
2026-06-13T10:36:10.8057857Z             {
2026-06-13T10:36:10.8057978Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.8058063Z               "line": 878
2026-06-13T10:36:10.8058147Z             }
2026-06-13T10:36:10.8058232Z           ]
2026-06-13T10:36:10.8058313Z         },
2026-06-13T10:36:10.8058398Z         "unit": {
2026-06-13T10:36:10.8058492Z           "complete": true,
2026-06-13T10:36:10.8058583Z           "evidence": [
2026-06-13T10:36:10.8058660Z             {
2026-06-13T10:36:10.8058779Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T10:36:10.8058869Z               "line": 650
2026-06-13T10:36:10.8059041Z             },
2026-06-13T10:36:10.8059126Z             {
2026-06-13T10:36:10.8059242Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T10:36:10.8059337Z               "line": 685
2026-06-13T10:36:10.8059422Z             },
2026-06-13T10:36:10.8059609Z             {
2026-06-13T10:36:10.8059728Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T10:36:10.8059818Z               "line": 932
2026-06-13T10:36:10.8059904Z             },
2026-06-13T10:36:10.8059985Z             {
2026-06-13T10:36:10.8060099Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-13T10:36:10.8060191Z               "line": 195
2026-06-13T10:36:10.8060272Z             },
2026-06-13T10:36:10.8060351Z             {
2026-06-13T10:36:10.8060472Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T10:36:10.8060563Z               "line": 442
2026-06-13T10:36:10.8060738Z             },
2026-06-13T10:36:10.8060820Z             {
2026-06-13T10:36:10.8060935Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T10:36:10.8061023Z               "line": 456
2026-06-13T10:36:10.8061104Z             },
2026-06-13T10:36:10.8061185Z             {
2026-06-13T10:36:10.8061303Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T10:36:10.8061402Z               "line": 475
2026-06-13T10:36:10.8061488Z             },
2026-06-13T10:36:10.8061565Z             {
2026-06-13T10:36:10.8061683Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-13T10:36:10.8061769Z               "line": 119
2026-06-13T10:36:10.8061857Z             },
2026-06-13T10:36:10.8061942Z             {
2026-06-13T10:36:10.8062051Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-13T10:36:10.8062142Z               "line": 162
2026-06-13T10:36:10.8062223Z             },
2026-06-13T10:36:10.8062313Z             {
2026-06-13T10:36:10.8062433Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T10:36:10.8062524Z               "line": 492
2026-06-13T10:36:10.8062609Z             },
2026-06-13T10:36:10.8062690Z             {
2026-06-13T10:36:10.8062791Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T10:36:10.8062876Z               "line": 615
2026-06-13T10:36:10.8062961Z             },
2026-06-13T10:36:10.8063043Z             {
2026-06-13T10:36:10.8063149Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T10:36:10.8063242Z               "line": 1004
2026-06-13T10:36:10.8063334Z             }
2026-06-13T10:36:10.8063421Z           ]
2026-06-13T10:36:10.8063501Z         }
2026-06-13T10:36:10.8063585Z       }
2026-06-13T10:36:10.8063666Z     },
2026-06-13T10:36:10.8063752Z     {
2026-06-13T10:36:10.8063846Z       "id": "REQ-NET-2",
2026-06-13T10:36:10.8064027Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-13T10:36:10.8064113Z       "requiredStages": [
2026-06-13T10:36:10.8064198Z         "impl"
2026-06-13T10:36:10.8064284Z       ],
2026-06-13T10:36:10.8064365Z       "stages": {
2026-06-13T10:36:10.8064451Z         "doc": {
2026-06-13T10:36:10.8064536Z           "complete": false,
2026-06-13T10:36:10.8064612Z           "evidence": []
2026-06-13T10:36:10.8064695Z         },
2026-06-13T10:36:10.8064775Z         "impl": {
2026-06-13T10:36:10.8064875Z           "complete": true,
2026-06-13T10:36:10.8064956Z           "evidence": [
2026-06-13T10:36:10.8065034Z             {
2026-06-13T10:36:10.8065152Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-13T10:36:10.8065238Z               "line": 57
2026-06-13T10:36:10.8065324Z             },
2026-06-13T10:36:10.8065404Z             {
2026-06-13T10:36:10.8065523Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T10:36:10.8065610Z               "line": 71
2026-06-13T10:36:10.8065696Z             },
2026-06-13T10:36:10.8065771Z             {
2026-06-13T10:36:10.8065882Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T10:36:10.8065978Z               "line": 81
2026-06-13T10:36:10.8066053Z             },
2026-06-13T10:36:10.8066129Z             {
2026-06-13T10:36:10.8066254Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T10:36:10.8066331Z               "line": 159
2026-06-13T10:36:10.8066405Z             },
2026-06-13T10:36:10.8066572Z             {
2026-06-13T10:36:10.8066692Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T10:36:10.8066767Z               "line": 175
2026-06-13T10:36:10.8066847Z             },
2026-06-13T10:36:10.8066930Z             {
2026-06-13T10:36:10.8067044Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T10:36:10.8067134Z               "line": 190
2026-06-13T10:36:10.8067216Z             }
2026-06-13T10:36:10.8067297Z           ]
2026-06-13T10:36:10.8067373Z         },
2026-06-13T10:36:10.8067449Z         "int": {
2026-06-13T10:36:10.8067544Z           "complete": false,
2026-06-13T10:36:10.8067706Z           "evidence": []
2026-06-13T10:36:10.8067787Z         },
2026-06-13T10:36:10.8067864Z         "unit": {
2026-06-13T10:36:10.8067955Z           "complete": true,
2026-06-13T10:36:10.8068035Z           "evidence": [
2026-06-13T10:36:10.8068112Z             {
2026-06-13T10:36:10.8068232Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-13T10:36:10.8068312Z               "line": 402
2026-06-13T10:36:10.8068393Z             }
2026-06-13T10:36:10.8068465Z           ]
2026-06-13T10:36:10.8068547Z         }
2026-06-13T10:36:10.8068627Z       }
2026-06-13T10:36:10.8068702Z     },
2026-06-13T10:36:10.8068783Z     {
2026-06-13T10:36:10.8068864Z       "id": "REQ-NET-3",
2026-06-13T10:36:10.8069128Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-13T10:36:10.8069220Z       "requiredStages": [
2026-06-13T10:36:10.8069305Z         "impl",
2026-06-13T10:36:10.8069386Z         "unit"
2026-06-13T10:36:10.8069467Z       ],
2026-06-13T10:36:10.8069564Z       "stages": {
2026-06-13T10:36:10.8069634Z         "doc": {
2026-06-13T10:36:10.8069734Z           "complete": false,
2026-06-13T10:36:10.8069816Z           "evidence": []
2026-06-13T10:36:10.8069897Z         },
2026-06-13T10:36:10.8069977Z         "impl": {
2026-06-13T10:36:10.8070063Z           "complete": true,
2026-06-13T10:36:10.8070145Z           "evidence": [
2026-06-13T10:36:10.8070235Z             {
2026-06-13T10:36:10.8070353Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T10:36:10.8070441Z               "line": 39
2026-06-13T10:36:10.8070526Z             },
2026-06-13T10:36:10.8070598Z             {
2026-06-13T10:36:10.8070722Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T10:36:10.8070813Z               "line": 182
2026-06-13T10:36:10.8070893Z             },
2026-06-13T10:36:10.8070970Z             {
2026-06-13T10:36:10.8071081Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T10:36:10.8071170Z               "line": 333
2026-06-13T10:36:10.8071255Z             },
2026-06-13T10:36:10.8071337Z             {
2026-06-13T10:36:10.8071457Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-13T10:36:10.8071541Z               "line": 36
2026-06-13T10:36:10.8071626Z             },
2026-06-13T10:36:10.8071707Z             {
2026-06-13T10:36:10.8071835Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T10:36:10.8071924Z               "line": 158
2026-06-13T10:36:10.8072010Z             },
2026-06-13T10:36:10.8072092Z             {
2026-06-13T10:36:10.8072215Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T10:36:10.8072306Z               "line": 212
2026-06-13T10:36:10.8072383Z             },
2026-06-13T10:36:10.8072463Z             {
2026-06-13T10:36:10.8072572Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T10:36:10.8072659Z               "line": 233
2026-06-13T10:36:10.8072746Z             },
2026-06-13T10:36:10.8072827Z             {
2026-06-13T10:36:10.8072950Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T10:36:10.8073036Z               "line": 291
2026-06-13T10:36:10.8073116Z             },
2026-06-13T10:36:10.8073197Z             {
2026-06-13T10:36:10.8073318Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T10:36:10.8073413Z               "line": 310
2026-06-13T10:36:10.8073493Z             },
2026-06-13T10:36:10.8073690Z             {
2026-06-13T10:36:10.8073807Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T10:36:10.8073899Z               "line": 348
2026-06-13T10:36:10.8073981Z             },
2026-06-13T10:36:10.8074066Z             {
2026-06-13T10:36:10.8074189Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T10:36:10.8074274Z               "line": 393
2026-06-13T10:36:10.8074360Z             },
2026-06-13T10:36:10.8074439Z             {
2026-06-13T10:36:10.8074557Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T10:36:10.8074649Z               "line": 406
2026-06-13T10:36:10.8074844Z             },
2026-06-13T10:36:10.8074935Z             {
2026-06-13T10:36:10.8075055Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-13T10:36:10.8075149Z               "line": 29
2026-06-13T10:36:10.8075231Z             },
2026-06-13T10:36:10.8075316Z             {
2026-06-13T10:36:10.8075435Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-13T10:36:10.8075531Z               "line": 72
2026-06-13T10:36:10.8075613Z             },
2026-06-13T10:36:10.8075693Z             {
2026-06-13T10:36:10.8075812Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-13T10:36:10.8075899Z               "line": 123
2026-06-13T10:36:10.8075988Z             }
2026-06-13T10:36:10.8076074Z           ]
2026-06-13T10:36:10.8076155Z         },
2026-06-13T10:36:10.8076238Z         "int": {
2026-06-13T10:36:10.8076331Z           "complete": false,
2026-06-13T10:36:10.8076422Z           "evidence": []
2026-06-13T10:36:10.8076500Z         },
2026-06-13T10:36:10.8076595Z         "unit": {
2026-06-13T10:36:10.8076689Z           "complete": true,
2026-06-13T10:36:10.8076775Z           "evidence": [
2026-06-13T10:36:10.8076862Z             {
2026-06-13T10:36:10.8076979Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-13T10:36:10.8077069Z               "line": 223
2026-06-13T10:36:10.8077151Z             },
2026-06-13T10:36:10.8077242Z             {
2026-06-13T10:36:10.8077360Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-13T10:36:10.8077451Z               "line": 351
2026-06-13T10:36:10.8077538Z             },
2026-06-13T10:36:10.8077614Z             {
2026-06-13T10:36:10.8077732Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-13T10:36:10.8077815Z               "line": 502
2026-06-13T10:36:10.8077900Z             },
2026-06-13T10:36:10.8077990Z             {
2026-06-13T10:36:10.8078105Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-13T10:36:10.8078195Z               "line": 93
2026-06-13T10:36:10.8078286Z             },
2026-06-13T10:36:10.8078371Z             {
2026-06-13T10:36:10.8078478Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-13T10:36:10.8078572Z               "line": 142
2026-06-13T10:36:10.8078658Z             },
2026-06-13T10:36:10.8078735Z             {
2026-06-13T10:36:10.8078854Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-13T10:36:10.8079034Z               "line": 315
2026-06-13T10:36:10.8079117Z             },
2026-06-13T10:36:10.8079196Z             {
2026-06-13T10:36:10.8079319Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-13T10:36:10.8079420Z               "line": 355
2026-06-13T10:36:10.8079500Z             },
2026-06-13T10:36:10.8079584Z             {
2026-06-13T10:36:10.8079698Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-13T10:36:10.8079795Z               "line": 494
2026-06-13T10:36:10.8079875Z             }
2026-06-13T10:36:10.8079965Z           ]
2026-06-13T10:36:10.8080052Z         }
2026-06-13T10:36:10.8080138Z       }
2026-06-13T10:36:10.8080218Z     },
2026-06-13T10:36:10.8080299Z     {
2026-06-13T10:36:10.8080400Z       "id": "REQ-NODE-IDENTITY",
2026-06-13T10:36:10.8080618Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-13T10:36:10.8080719Z       "requiredStages": [
2026-06-13T10:36:10.8080918Z         "impl",
2026-06-13T10:36:10.8081001Z         "unit"
2026-06-13T10:36:10.8081086Z       ],
2026-06-13T10:36:10.8081167Z       "stages": {
2026-06-13T10:36:10.8081252Z         "doc": {
2026-06-13T10:36:10.8081340Z           "complete": false,
2026-06-13T10:36:10.8081439Z           "evidence": []
2026-06-13T10:36:10.8081548Z         },
2026-06-13T10:36:10.8081641Z         "impl": {
2026-06-13T10:36:10.8081735Z           "complete": true,
2026-06-13T10:36:10.8081825Z           "evidence": [
2026-06-13T10:36:10.8081907Z             {
2026-06-13T10:36:10.8082027Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-13T10:36:10.8082215Z               "line": 60
2026-06-13T10:36:10.8082306Z             },
2026-06-13T10:36:10.8082386Z             {
2026-06-13T10:36:10.8082503Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-13T10:36:10.8082594Z               "line": 68
2026-06-13T10:36:10.8082681Z             },
2026-06-13T10:36:10.8082761Z             {
2026-06-13T10:36:10.8082885Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-13T10:36:10.8082977Z               "line": 86
2026-06-13T10:36:10.8083058Z             },
2026-06-13T10:36:10.8083142Z             {
2026-06-13T10:36:10.8083258Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-13T10:36:10.8083348Z               "line": 120
2026-06-13T10:36:10.8083438Z             },
2026-06-13T10:36:10.8083519Z             {
2026-06-13T10:36:10.8083639Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-13T10:36:10.8083725Z               "line": 127
2026-06-13T10:36:10.8083815Z             },
2026-06-13T10:36:10.8083897Z             {
2026-06-13T10:36:10.8084010Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-13T10:36:10.8084100Z               "line": 143
2026-06-13T10:36:10.8084183Z             },
2026-06-13T10:36:10.8084269Z             {
2026-06-13T10:36:10.8084382Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-13T10:36:10.8084469Z               "line": 16
2026-06-13T10:36:10.8084560Z             }
2026-06-13T10:36:10.8084640Z           ]
2026-06-13T10:36:10.8084725Z         },
2026-06-13T10:36:10.8084800Z         "int": {
2026-06-13T10:36:10.8084901Z           "complete": false,
2026-06-13T10:36:10.8084990Z           "evidence": []
2026-06-13T10:36:10.8085075Z         },
2026-06-13T10:36:10.8085161Z         "unit": {
2026-06-13T10:36:10.8085247Z           "complete": true,
2026-06-13T10:36:10.8085337Z           "evidence": [
2026-06-13T10:36:10.8085413Z             {
2026-06-13T10:36:10.8085529Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-13T10:36:10.8085624Z               "line": 199
2026-06-13T10:36:10.8085709Z             },
2026-06-13T10:36:10.8085786Z             {
2026-06-13T10:36:10.8085905Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-13T10:36:10.8085999Z               "line": 218
2026-06-13T10:36:10.8086081Z             },
2026-06-13T10:36:10.8086158Z             {
2026-06-13T10:36:10.8086272Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-13T10:36:10.8086367Z               "line": 234
2026-06-13T10:36:10.8086435Z             },
2026-06-13T10:36:10.8086521Z             {
2026-06-13T10:36:10.8086634Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-13T10:36:10.8086715Z               "line": 256
2026-06-13T10:36:10.8086798Z             },
2026-06-13T10:36:10.8086877Z             {
2026-06-13T10:36:10.8086992Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-13T10:36:10.8087074Z               "line": 124
2026-06-13T10:36:10.8087155Z             },
2026-06-13T10:36:10.8087249Z             {
2026-06-13T10:36:10.8087355Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-13T10:36:10.8087451Z               "line": 140
2026-06-13T10:36:10.8087535Z             },
2026-06-13T10:36:10.8087611Z             {
2026-06-13T10:36:10.8087725Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-13T10:36:10.8087822Z               "line": 155
2026-06-13T10:36:10.8087977Z             }
2026-06-13T10:36:10.8088050Z           ]
2026-06-13T10:36:10.8088136Z         }
2026-06-13T10:36:10.8088211Z       }
2026-06-13T10:36:10.8088292Z     },
2026-06-13T10:36:10.8088370Z     {
2026-06-13T10:36:10.8088465Z       "id": "REQ-NOTIF-1",
2026-06-13T10:36:10.8088812Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-13T10:36:10.8088898Z       "requiredStages": [
2026-06-13T10:36:10.8089047Z         "impl",
2026-06-13T10:36:10.8089132Z         "unit",
2026-06-13T10:36:10.8089218Z         "int"
2026-06-13T10:36:10.8089394Z       ],
2026-06-13T10:36:10.8089484Z       "stages": {
2026-06-13T10:36:10.8089570Z         "doc": {
2026-06-13T10:36:10.8089663Z           "complete": false,
2026-06-13T10:36:10.8089743Z           "evidence": []
2026-06-13T10:36:10.8089827Z         },
2026-06-13T10:36:10.8089912Z         "impl": {
2026-06-13T10:36:10.8090004Z           "complete": true,
2026-06-13T10:36:10.8090088Z           "evidence": [
2026-06-13T10:36:10.8090168Z             {
2026-06-13T10:36:10.8090282Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T10:36:10.8090364Z               "line": 514
2026-06-13T10:36:10.8090440Z             },
2026-06-13T10:36:10.8090525Z             {
2026-06-13T10:36:10.8090631Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8090717Z               "line": 30
2026-06-13T10:36:10.8090802Z             },
2026-06-13T10:36:10.8090888Z             {
2026-06-13T10:36:10.8090998Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8091093Z               "line": 69
2026-06-13T10:36:10.8091168Z             },
2026-06-13T10:36:10.8091256Z             {
2026-06-13T10:36:10.8091361Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8091441Z               "line": 93
2026-06-13T10:36:10.8091522Z             },
2026-06-13T10:36:10.8091599Z             {
2026-06-13T10:36:10.8091708Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8091803Z               "line": 107
2026-06-13T10:36:10.8091891Z             },
2026-06-13T10:36:10.8091975Z             {
2026-06-13T10:36:10.8092080Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8092167Z               "line": 142
2026-06-13T10:36:10.8092243Z             },
2026-06-13T10:36:10.8092332Z             {
2026-06-13T10:36:10.8092452Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8092539Z               "line": 187
2026-06-13T10:36:10.8092619Z             },
2026-06-13T10:36:10.8092704Z             {
2026-06-13T10:36:10.8092813Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8092899Z               "line": 258
2026-06-13T10:36:10.8092978Z             },
2026-06-13T10:36:10.8093058Z             {
2026-06-13T10:36:10.8093164Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8093246Z               "line": 372
2026-06-13T10:36:10.8093331Z             },
2026-06-13T10:36:10.8093416Z             {
2026-06-13T10:36:10.8093527Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8093618Z               "line": 479
2026-06-13T10:36:10.8093702Z             },
2026-06-13T10:36:10.8093794Z             {
2026-06-13T10:36:10.8093913Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T10:36:10.8094003Z               "line": 24
2026-06-13T10:36:10.8094084Z             },
2026-06-13T10:36:10.8094175Z             {
2026-06-13T10:36:10.8094294Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T10:36:10.8094389Z               "line": 34
2026-06-13T10:36:10.8094481Z             },
2026-06-13T10:36:10.8094566Z             {
2026-06-13T10:36:10.8094685Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T10:36:10.8094772Z               "line": 60
2026-06-13T10:36:10.8094857Z             },
2026-06-13T10:36:10.8094937Z             {
2026-06-13T10:36:10.8095163Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T10:36:10.8095256Z               "line": 82
2026-06-13T10:36:10.8095342Z             },
2026-06-13T10:36:10.8095432Z             {
2026-06-13T10:36:10.8095550Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T10:36:10.8095640Z               "line": 94
2026-06-13T10:36:10.8095721Z             },
2026-06-13T10:36:10.8095812Z             {
2026-06-13T10:36:10.8095930Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T10:36:10.8096016Z               "line": 96
2026-06-13T10:36:10.8096104Z             },
2026-06-13T10:36:10.8096259Z             {
2026-06-13T10:36:10.8096394Z               "path": "crates/spt-daemon/src/pump/notif.rs",
2026-06-13T10:36:10.8096479Z               "line": 44
2026-06-13T10:36:10.8096564Z             },
2026-06-13T10:36:10.8096651Z             {
2026-06-13T10:36:10.8096766Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-13T10:36:10.8096861Z               "line": 20
2026-06-13T10:36:10.8096942Z             },
2026-06-13T10:36:10.8097029Z             {
2026-06-13T10:36:10.8097142Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-13T10:36:10.8097232Z               "line": 30
2026-06-13T10:36:10.8097319Z             },
2026-06-13T10:36:10.8097400Z             {
2026-06-13T10:36:10.8097509Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-13T10:36:10.8097595Z               "line": 50
2026-06-13T10:36:10.8097692Z             },
2026-06-13T10:36:10.8097771Z             {
2026-06-13T10:36:10.8097886Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T10:36:10.8097992Z               "line": 28
2026-06-13T10:36:10.8098077Z             },
2026-06-13T10:36:10.8098157Z             {
2026-06-13T10:36:10.8098271Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T10:36:10.8098362Z               "line": 126
2026-06-13T10:36:10.8098447Z             },
2026-06-13T10:36:10.8098528Z             {
2026-06-13T10:36:10.8098649Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T10:36:10.8098739Z               "line": 161
2026-06-13T10:36:10.8098824Z             },
2026-06-13T10:36:10.8098906Z             {
2026-06-13T10:36:10.8099100Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T10:36:10.8099191Z               "line": 202
2026-06-13T10:36:10.8099273Z             },
2026-06-13T10:36:10.8099358Z             {
2026-06-13T10:36:10.8099463Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T10:36:10.8099550Z               "line": 213
2026-06-13T10:36:10.8099635Z             },
2026-06-13T10:36:10.8099726Z             {
2026-06-13T10:36:10.8099840Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T10:36:10.8099927Z               "line": 238
2026-06-13T10:36:10.8100011Z             },
2026-06-13T10:36:10.8100092Z             {
2026-06-13T10:36:10.8100203Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T10:36:10.8100288Z               "line": 261
2026-06-13T10:36:10.8100383Z             },
2026-06-13T10:36:10.8100468Z             {
2026-06-13T10:36:10.8100582Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.8100671Z               "line": 63
2026-06-13T10:36:10.8100761Z             }
2026-06-13T10:36:10.8100842Z           ]
2026-06-13T10:36:10.8100924Z         },
2026-06-13T10:36:10.8101014Z         "int": {
2026-06-13T10:36:10.8101109Z           "complete": true,
2026-06-13T10:36:10.8101196Z           "evidence": [
2026-06-13T10:36:10.8101282Z             {
2026-06-13T10:36:10.8101405Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T10:36:10.8101502Z               "line": 285
2026-06-13T10:36:10.8101582Z             },
2026-06-13T10:36:10.8101677Z             {
2026-06-13T10:36:10.8101797Z               "path": "crates/spt-daemon/tests/pump.rs",
2026-06-13T10:36:10.8101882Z               "line": 102
2026-06-13T10:36:10.8101968Z             },
2026-06-13T10:36:10.8102048Z             {
2026-06-13T10:36:10.8102297Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.8102392Z               "line": 614
2026-06-13T10:36:10.8102474Z             },
2026-06-13T10:36:10.8102559Z             {
2026-06-13T10:36:10.8102678Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.8102775Z               "line": 1007
2026-06-13T10:36:10.8102855Z             }
2026-06-13T10:36:10.8102940Z           ]
2026-06-13T10:36:10.8105492Z         },
2026-06-13T10:36:10.8105603Z         "unit": {
2026-06-13T10:36:10.8105704Z           "complete": true,
2026-06-13T10:36:10.8105793Z           "evidence": [
2026-06-13T10:36:10.8106011Z             {
2026-06-13T10:36:10.8106147Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8106238Z               "line": 572
2026-06-13T10:36:10.8106319Z             },
2026-06-13T10:36:10.8106397Z             {
2026-06-13T10:36:10.8106519Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8106606Z               "line": 621
2026-06-13T10:36:10.8106701Z             },
2026-06-13T10:36:10.8106773Z             {
2026-06-13T10:36:10.8106877Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8106973Z               "line": 724
2026-06-13T10:36:10.8107049Z             },
2026-06-13T10:36:10.8107129Z             {
2026-06-13T10:36:10.8107226Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8107321Z               "line": 756
2026-06-13T10:36:10.8107397Z             },
2026-06-13T10:36:10.8107473Z             {
2026-06-13T10:36:10.8107579Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8107674Z               "line": 824
2026-06-13T10:36:10.8107745Z             },
2026-06-13T10:36:10.8107817Z             {
2026-06-13T10:36:10.8107932Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8108016Z               "line": 882
2026-06-13T10:36:10.8108093Z             },
2026-06-13T10:36:10.8108185Z             {
2026-06-13T10:36:10.8108299Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8108394Z               "line": 1157
2026-06-13T10:36:10.8108466Z             },
2026-06-13T10:36:10.8108547Z             {
2026-06-13T10:36:10.8108669Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T10:36:10.8108764Z               "line": 157
2026-06-13T10:36:10.8108850Z             },
2026-06-13T10:36:10.8108932Z             {
2026-06-13T10:36:10.8109151Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T10:36:10.8109232Z               "line": 250
2026-06-13T10:36:10.8109322Z             },
2026-06-13T10:36:10.8109403Z             {
2026-06-13T10:36:10.8109524Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T10:36:10.8109609Z               "line": 273
2026-06-13T10:36:10.8109689Z             },
2026-06-13T10:36:10.8109771Z             {
2026-06-13T10:36:10.8109890Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T10:36:10.8109976Z               "line": 341
2026-06-13T10:36:10.8110057Z             },
2026-06-13T10:36:10.8110134Z             {
2026-06-13T10:36:10.8110252Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T10:36:10.8110333Z               "line": 373
2026-06-13T10:36:10.8110415Z             },
2026-06-13T10:36:10.8110501Z             {
2026-06-13T10:36:10.8110619Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-13T10:36:10.8110705Z               "line": 131
2026-06-13T10:36:10.8110792Z             },
2026-06-13T10:36:10.8110872Z             {
2026-06-13T10:36:10.8110985Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-13T10:36:10.8111076Z               "line": 72
2026-06-13T10:36:10.8111157Z             },
2026-06-13T10:36:10.8111240Z             {
2026-06-13T10:36:10.8111359Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-13T10:36:10.8111446Z               "line": 97
2026-06-13T10:36:10.8111532Z             },
2026-06-13T10:36:10.8111703Z             {
2026-06-13T10:36:10.8111809Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T10:36:10.8111889Z               "line": 379
2026-06-13T10:36:10.8111960Z             },
2026-06-13T10:36:10.8112042Z             {
2026-06-13T10:36:10.8112147Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T10:36:10.8112246Z               "line": 417
2026-06-13T10:36:10.8112333Z             },
2026-06-13T10:36:10.8112409Z             {
2026-06-13T10:36:10.8112518Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T10:36:10.8112604Z               "line": 433
2026-06-13T10:36:10.8112795Z             },
2026-06-13T10:36:10.8112866Z             {
2026-06-13T10:36:10.8112972Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T10:36:10.8113058Z               "line": 472
2026-06-13T10:36:10.8113143Z             },
2026-06-13T10:36:10.8113224Z             {
2026-06-13T10:36:10.8113335Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T10:36:10.8113429Z               "line": 489
2026-06-13T10:36:10.8113515Z             },
2026-06-13T10:36:10.8113597Z             {
2026-06-13T10:36:10.8113707Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T10:36:10.8113796Z               "line": 517
2026-06-13T10:36:10.8113880Z             },
2026-06-13T10:36:10.8113962Z             {
2026-06-13T10:36:10.8114070Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T10:36:10.8114156Z               "line": 548
2026-06-13T10:36:10.8114241Z             },
2026-06-13T10:36:10.8114322Z             {
2026-06-13T10:36:10.8114441Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.8114536Z               "line": 534
2026-06-13T10:36:10.8114619Z             }
2026-06-13T10:36:10.8114704Z           ]
2026-06-13T10:36:10.8114784Z         }
2026-06-13T10:36:10.8114865Z       }
2026-06-13T10:36:10.8114948Z     },
2026-06-13T10:36:10.8115033Z     {
2026-06-13T10:36:10.8115123Z       "id": "REQ-NOTIF-2",
2026-06-13T10:36:10.8115390Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-13T10:36:10.8115490Z       "requiredStages": [
2026-06-13T10:36:10.8115573Z         "doc",
2026-06-13T10:36:10.8115658Z         "impl",
2026-06-13T10:36:10.8115738Z         "unit",
2026-06-13T10:36:10.8115824Z         "int"
2026-06-13T10:36:10.8115902Z       ],
2026-06-13T10:36:10.8115991Z       "stages": {
2026-06-13T10:36:10.8116077Z         "doc": {
2026-06-13T10:36:10.8116168Z           "complete": true,
2026-06-13T10:36:10.8116259Z           "evidence": [
2026-06-13T10:36:10.8116348Z             {
2026-06-13T10:36:10.8116443Z               "path": "CONTEXT.md",
2026-06-13T10:36:10.8116529Z               "line": 397
2026-06-13T10:36:10.8116614Z             },
2026-06-13T10:36:10.8116703Z             {
2026-06-13T10:36:10.8116798Z               "path": "docs/MANIFEST.md",
2026-06-13T10:36:10.8116889Z               "line": 62
2026-06-13T10:36:10.8116971Z             }
2026-06-13T10:36:10.8117060Z           ]
2026-06-13T10:36:10.8117141Z         },
2026-06-13T10:36:10.8117228Z         "impl": {
2026-06-13T10:36:10.8117323Z           "complete": true,
2026-06-13T10:36:10.8117408Z           "evidence": [
2026-06-13T10:36:10.8117495Z             {
2026-06-13T10:36:10.8117609Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8117704Z               "line": 287
2026-06-13T10:36:10.8117786Z             },
2026-06-13T10:36:10.8117867Z             {
2026-06-13T10:36:10.8117981Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8118062Z               "line": 301
2026-06-13T10:36:10.8118158Z             },
2026-06-13T10:36:10.8118239Z             {
2026-06-13T10:36:10.8118357Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8118445Z               "line": 326
2026-06-13T10:36:10.8118539Z             },
2026-06-13T10:36:10.8118630Z             {
2026-06-13T10:36:10.8118760Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.8118924Z               "line": 195
2026-06-13T10:36:10.8119107Z             },
2026-06-13T10:36:10.8119188Z             {
2026-06-13T10:36:10.8119305Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.8119396Z               "line": 72
2026-06-13T10:36:10.8119477Z             },
2026-06-13T10:36:10.8119559Z             {
2026-06-13T10:36:10.8119672Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8119759Z               "line": 1685
2026-06-13T10:36:10.8119840Z             },
2026-06-13T10:36:10.8119920Z             {
2026-06-13T10:36:10.8120126Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8120216Z               "line": 1734
2026-06-13T10:36:10.8120297Z             },
2026-06-13T10:36:10.8120384Z             {
2026-06-13T10:36:10.8120483Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8120573Z               "line": 1813
2026-06-13T10:36:10.8120655Z             },
2026-06-13T10:36:10.8120746Z             {
2026-06-13T10:36:10.8120851Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8120936Z               "line": 1852
2026-06-13T10:36:10.8121023Z             }
2026-06-13T10:36:10.8121103Z           ]
2026-06-13T10:36:10.8121184Z         },
2026-06-13T10:36:10.8121270Z         "int": {
2026-06-13T10:36:10.8121362Z           "complete": true,
2026-06-13T10:36:10.8121451Z           "evidence": [
2026-06-13T10:36:10.8121536Z             {
2026-06-13T10:36:10.8121655Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.8121745Z               "line": 740
2026-06-13T10:36:10.8121844Z             },
2026-06-13T10:36:10.8121929Z             {
2026-06-13T10:36:10.8122040Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.8122129Z               "line": 1160
2026-06-13T10:36:10.8122210Z             }
2026-06-13T10:36:10.8122301Z           ]
2026-06-13T10:36:10.8122378Z         },
2026-06-13T10:36:10.8122468Z         "unit": {
2026-06-13T10:36:10.8122568Z           "complete": true,
2026-06-13T10:36:10.8122655Z           "evidence": [
2026-06-13T10:36:10.8122736Z             {
2026-06-13T10:36:10.8122849Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8122936Z               "line": 1006
2026-06-13T10:36:10.8123017Z             },
2026-06-13T10:36:10.8123102Z             {
2026-06-13T10:36:10.8123212Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8123299Z               "line": 1074
2026-06-13T10:36:10.8123384Z             },
2026-06-13T10:36:10.8123460Z             {
2026-06-13T10:36:10.8123561Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8123641Z               "line": 6005
2026-06-13T10:36:10.8123722Z             },
2026-06-13T10:36:10.8123808Z             {
2026-06-13T10:36:10.8123905Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8123994Z               "line": 6060
2026-06-13T10:36:10.8124070Z             }
2026-06-13T10:36:10.8124162Z           ]
2026-06-13T10:36:10.8124244Z         }
2026-06-13T10:36:10.8124318Z       }
2026-06-13T10:36:10.8124403Z     },
2026-06-13T10:36:10.8124484Z     {
2026-06-13T10:36:10.8124570Z       "id": "REQ-PAIR-1",
2026-06-13T10:36:10.8124663Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-13T10:36:10.8124758Z       "requiredStages": [
2026-06-13T10:36:10.8124830Z         "impl",
2026-06-13T10:36:10.8124912Z         "unit",
2026-06-13T10:36:10.8124987Z         "int"
2026-06-13T10:36:10.8125068Z       ],
2026-06-13T10:36:10.8125149Z       "stages": {
2026-06-13T10:36:10.8125226Z         "doc": {
2026-06-13T10:36:10.8125326Z           "complete": false,
2026-06-13T10:36:10.8125415Z           "evidence": []
2026-06-13T10:36:10.8125484Z         },
2026-06-13T10:36:10.8125569Z         "impl": {
2026-06-13T10:36:10.8125650Z           "complete": true,
2026-06-13T10:36:10.8125735Z           "evidence": [
2026-06-13T10:36:10.8125818Z             {
2026-06-13T10:36:10.8125950Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T10:36:10.8126138Z               "line": 27
2026-06-13T10:36:10.8126222Z             },
2026-06-13T10:36:10.8126298Z             {
2026-06-13T10:36:10.8126418Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T10:36:10.8126504Z               "line": 88
2026-06-13T10:36:10.8126584Z             },
2026-06-13T10:36:10.8126666Z             {
2026-06-13T10:36:10.8126782Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T10:36:10.8126866Z               "line": 110
2026-06-13T10:36:10.8126946Z             },
2026-06-13T10:36:10.8127099Z             {
2026-06-13T10:36:10.8127230Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T10:36:10.8127310Z               "line": 153
2026-06-13T10:36:10.8127397Z             },
2026-06-13T10:36:10.8127474Z             {
2026-06-13T10:36:10.8127592Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T10:36:10.8127687Z               "line": 182
2026-06-13T10:36:10.8127779Z             },
2026-06-13T10:36:10.8127855Z             {
2026-06-13T10:36:10.8127978Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-13T10:36:10.8128060Z               "line": 29
2026-06-13T10:36:10.8128136Z             },
2026-06-13T10:36:10.8128212Z             {
2026-06-13T10:36:10.8128351Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-13T10:36:10.8128432Z               "line": 31
2026-06-13T10:36:10.8128507Z             },
2026-06-13T10:36:10.8128583Z             {
2026-06-13T10:36:10.8128713Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T10:36:10.8128813Z               "line": 44
2026-06-13T10:36:10.8128889Z             },
2026-06-13T10:36:10.8129042Z             {
2026-06-13T10:36:10.8129165Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T10:36:10.8129266Z               "line": 171
2026-06-13T10:36:10.8129338Z             },
2026-06-13T10:36:10.8129428Z             {
2026-06-13T10:36:10.8129551Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T10:36:10.8129639Z               "line": 376
2026-06-13T10:36:10.8129720Z             }
2026-06-13T10:36:10.8129804Z           ]
2026-06-13T10:36:10.8129884Z         },
2026-06-13T10:36:10.8129975Z         "int": {
2026-06-13T10:36:10.8130057Z           "complete": true,
2026-06-13T10:36:10.8130151Z           "evidence": [
2026-06-13T10:36:10.8130232Z             {
2026-06-13T10:36:10.8130353Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.8130438Z               "line": 575
2026-06-13T10:36:10.8130518Z             },
2026-06-13T10:36:10.8130601Z             {
2026-06-13T10:36:10.8130719Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.8130804Z               "line": 792
2026-06-13T10:36:10.8130886Z             }
2026-06-13T10:36:10.8130977Z           ]
2026-06-13T10:36:10.8131057Z         },
2026-06-13T10:36:10.8131147Z         "unit": {
2026-06-13T10:36:10.8131235Z           "complete": true,
2026-06-13T10:36:10.8131321Z           "evidence": [
2026-06-13T10:36:10.8131401Z             {
2026-06-13T10:36:10.8131530Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T10:36:10.8131617Z               "line": 236
2026-06-13T10:36:10.8131696Z             },
2026-06-13T10:36:10.8131777Z             {
2026-06-13T10:36:10.8131903Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T10:36:10.8131983Z               "line": 349
2026-06-13T10:36:10.8132067Z             },
2026-06-13T10:36:10.8132148Z             {
2026-06-13T10:36:10.8132273Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-13T10:36:10.8132361Z               "line": 194
2026-06-13T10:36:10.8132437Z             },
2026-06-13T10:36:10.8132518Z             {
2026-06-13T10:36:10.8132629Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-13T10:36:10.8132713Z               "line": 216
2026-06-13T10:36:10.8132909Z             },
2026-06-13T10:36:10.8132995Z             {
2026-06-13T10:36:10.8133118Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-13T10:36:10.8133201Z               "line": 230
2026-06-13T10:36:10.8133286Z             },
2026-06-13T10:36:10.8133366Z             {
2026-06-13T10:36:10.8133492Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-13T10:36:10.8133567Z               "line": 242
2026-06-13T10:36:10.8133639Z             },
2026-06-13T10:36:10.8133724Z             {
2026-06-13T10:36:10.8133845Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-13T10:36:10.8134498Z               "line": 256
2026-06-13T10:36:10.8134582Z             },
2026-06-13T10:36:10.8134669Z             {
2026-06-13T10:36:10.8134789Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-13T10:36:10.8134864Z               "line": 270
2026-06-13T10:36:10.8134949Z             },
2026-06-13T10:36:10.8135020Z             {
2026-06-13T10:36:10.8135140Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-13T10:36:10.8135218Z               "line": 277
2026-06-13T10:36:10.8135304Z             },
2026-06-13T10:36:10.8135385Z             {
2026-06-13T10:36:10.8135505Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-13T10:36:10.8135590Z               "line": 295
2026-06-13T10:36:10.8135680Z             },
2026-06-13T10:36:10.8135763Z             {
2026-06-13T10:36:10.8135876Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T10:36:10.8135962Z               "line": 968
2026-06-13T10:36:10.8136049Z             },
2026-06-13T10:36:10.8136129Z             {
2026-06-13T10:36:10.8136248Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T10:36:10.8136344Z               "line": 1051
2026-06-13T10:36:10.8136425Z             },
2026-06-13T10:36:10.8136506Z             {
2026-06-13T10:36:10.8136615Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T10:36:10.8136707Z               "line": 1121
2026-06-13T10:36:10.8136787Z             },
2026-06-13T10:36:10.8136858Z             {
2026-06-13T10:36:10.8136988Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T10:36:10.8137074Z               "line": 1182
2026-06-13T10:36:10.8137149Z             },
2026-06-13T10:36:10.8137231Z             {
2026-06-13T10:36:10.8137351Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T10:36:10.8137436Z               "line": 1238
2026-06-13T10:36:10.8137520Z             },
2026-06-13T10:36:10.8137606Z             {
2026-06-13T10:36:10.8137734Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T10:36:10.8137819Z               "line": 1457
2026-06-13T10:36:10.8137904Z             }
2026-06-13T10:36:10.8137986Z           ]
2026-06-13T10:36:10.8138067Z         }
2026-06-13T10:36:10.8138148Z       }
2026-06-13T10:36:10.8138228Z     },
2026-06-13T10:36:10.8138305Z     {
2026-06-13T10:36:10.8138400Z       "id": "REQ-PAIR-2",
2026-06-13T10:36:10.8138533Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-13T10:36:10.8138620Z       "requiredStages": [],
2026-06-13T10:36:10.8138706Z       "stages": {
2026-06-13T10:36:10.8138786Z         "doc": {
2026-06-13T10:36:10.8138887Z           "complete": false,
2026-06-13T10:36:10.8139058Z           "evidence": []
2026-06-13T10:36:10.8139144Z         },
2026-06-13T10:36:10.8139225Z         "impl": {
2026-06-13T10:36:10.8139321Z           "complete": false,
2026-06-13T10:36:10.8139416Z           "evidence": []
2026-06-13T10:36:10.8139501Z         },
2026-06-13T10:36:10.8139588Z         "int": {
2026-06-13T10:36:10.8139683Z           "complete": false,
2026-06-13T10:36:10.8139778Z           "evidence": []
2026-06-13T10:36:10.8139850Z         },
2026-06-13T10:36:10.8139932Z         "unit": {
2026-06-13T10:36:10.8140021Z           "complete": false,
2026-06-13T10:36:10.8140112Z           "evidence": []
2026-06-13T10:36:10.8140204Z         }
2026-06-13T10:36:10.8140378Z       }
2026-06-13T10:36:10.8140454Z     },
2026-06-13T10:36:10.8140531Z     {
2026-06-13T10:36:10.8140622Z       "id": "REQ-PAIR-3",
2026-06-13T10:36:10.8140759Z       "title": "Fetch current pairing code from any paired node",
2026-06-13T10:36:10.8140855Z       "requiredStages": [
2026-06-13T10:36:10.8140946Z         "impl",
2026-06-13T10:36:10.8141026Z         "unit"
2026-06-13T10:36:10.8141102Z       ],
2026-06-13T10:36:10.8141189Z       "stages": {
2026-06-13T10:36:10.8141265Z         "doc": {
2026-06-13T10:36:10.8141360Z           "complete": false,
2026-06-13T10:36:10.8141436Z           "evidence": []
2026-06-13T10:36:10.8141612Z         },
2026-06-13T10:36:10.8141694Z         "impl": {
2026-06-13T10:36:10.8141790Z           "complete": true,
2026-06-13T10:36:10.8141866Z           "evidence": [
2026-06-13T10:36:10.8141946Z             {
2026-06-13T10:36:10.8142051Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8142129Z               "line": 2534
2026-06-13T10:36:10.8142215Z             },
2026-06-13T10:36:10.8142294Z             {
2026-06-13T10:36:10.8142386Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8142482Z               "line": 2603
2026-06-13T10:36:10.8142562Z             },
2026-06-13T10:36:10.8142637Z             {
2026-06-13T10:36:10.8142742Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8142833Z               "line": 2839
2026-06-13T10:36:10.8142912Z             }
2026-06-13T10:36:10.8142992Z           ]
2026-06-13T10:36:10.8143074Z         },
2026-06-13T10:36:10.8143155Z         "int": {
2026-06-13T10:36:10.8143264Z           "complete": false,
2026-06-13T10:36:10.8143349Z           "evidence": []
2026-06-13T10:36:10.8143441Z         },
2026-06-13T10:36:10.8143532Z         "unit": {
2026-06-13T10:36:10.8143621Z           "complete": true,
2026-06-13T10:36:10.8143713Z           "evidence": [
2026-06-13T10:36:10.8143789Z             {
2026-06-13T10:36:10.8143894Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8143989Z               "line": 7545
2026-06-13T10:36:10.8144080Z             },
2026-06-13T10:36:10.8144165Z             {
2026-06-13T10:36:10.8144265Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8144357Z               "line": 7760
2026-06-13T10:36:10.8144438Z             },
2026-06-13T10:36:10.8144528Z             {
2026-06-13T10:36:10.8144628Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8144724Z               "line": 8357
2026-06-13T10:36:10.8144813Z             },
2026-06-13T10:36:10.8144894Z             {
2026-06-13T10:36:10.8145001Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8145096Z               "line": 8376
2026-06-13T10:36:10.8145181Z             },
2026-06-13T10:36:10.8145262Z             {
2026-06-13T10:36:10.8145368Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8145461Z               "line": 8400
2026-06-13T10:36:10.8145542Z             },
2026-06-13T10:36:10.8145628Z             {
2026-06-13T10:36:10.8145732Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8145826Z               "line": 8419
2026-06-13T10:36:10.8145906Z             },
2026-06-13T10:36:10.8145998Z             {
2026-06-13T10:36:10.8146098Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8146188Z               "line": 8432
2026-06-13T10:36:10.8146270Z             },
2026-06-13T10:36:10.8146356Z             {
2026-06-13T10:36:10.8146460Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8146545Z               "line": 8441
2026-06-13T10:36:10.8146633Z             }
2026-06-13T10:36:10.8146723Z           ]
2026-06-13T10:36:10.8146803Z         }
2026-06-13T10:36:10.8146890Z       }
2026-06-13T10:36:10.8146967Z     },
2026-06-13T10:36:10.8147047Z     {
2026-06-13T10:36:10.8147137Z       "id": "REQ-PAIR-4",
2026-06-13T10:36:10.8147258Z       "title": "Subnet naming on first pairing",
2026-06-13T10:36:10.8147352Z       "requiredStages": [
2026-06-13T10:36:10.8147524Z         "impl",
2026-06-13T10:36:10.8147606Z         "unit"
2026-06-13T10:36:10.8147690Z       ],
2026-06-13T10:36:10.8147781Z       "stages": {
2026-06-13T10:36:10.8147863Z         "doc": {
2026-06-13T10:36:10.8147958Z           "complete": false,
2026-06-13T10:36:10.8148048Z           "evidence": []
2026-06-13T10:36:10.8148132Z         },
2026-06-13T10:36:10.8148219Z         "impl": {
2026-06-13T10:36:10.8148313Z           "complete": true,
2026-06-13T10:36:10.8148403Z           "evidence": [
2026-06-13T10:36:10.8148483Z             {
2026-06-13T10:36:10.8148603Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T10:36:10.8148764Z               "line": 174
2026-06-13T10:36:10.8148846Z             }
2026-06-13T10:36:10.8148932Z           ]
2026-06-13T10:36:10.8149112Z         },
2026-06-13T10:36:10.8149195Z         "int": {
2026-06-13T10:36:10.8149285Z           "complete": false,
2026-06-13T10:36:10.8149380Z           "evidence": []
2026-06-13T10:36:10.8149461Z         },
2026-06-13T10:36:10.8149552Z         "unit": {
2026-06-13T10:36:10.8149647Z           "complete": true,
2026-06-13T10:36:10.8149732Z           "evidence": [
2026-06-13T10:36:10.8149825Z             {
2026-06-13T10:36:10.8149952Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T10:36:10.8150052Z               "line": 1294
2026-06-13T10:36:10.8150135Z             }
2026-06-13T10:36:10.8150214Z           ]
2026-06-13T10:36:10.8150300Z         }
2026-06-13T10:36:10.8150381Z       }
2026-06-13T10:36:10.8150468Z     },
2026-06-13T10:36:10.8150548Z     {
2026-06-13T10:36:10.8150644Z       "id": "REQ-PAIR-5",
2026-06-13T10:36:10.8150952Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-13T10:36:10.8151047Z       "requiredStages": [
2026-06-13T10:36:10.8151139Z         "impl",
2026-06-13T10:36:10.8151220Z         "unit",
2026-06-13T10:36:10.8151304Z         "int"
2026-06-13T10:36:10.8151386Z       ],
2026-06-13T10:36:10.8151478Z       "stages": {
2026-06-13T10:36:10.8151568Z         "doc": {
2026-06-13T10:36:10.8151657Z           "complete": false,
2026-06-13T10:36:10.8151749Z           "evidence": []
2026-06-13T10:36:10.8151835Z         },
2026-06-13T10:36:10.8151920Z         "impl": {
2026-06-13T10:36:10.8152006Z           "complete": true,
2026-06-13T10:36:10.8152097Z           "evidence": [
2026-06-13T10:36:10.8152182Z             {
2026-06-13T10:36:10.8152306Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T10:36:10.8152398Z               "line": 44
2026-06-13T10:36:10.8152478Z             },
2026-06-13T10:36:10.8152569Z             {
2026-06-13T10:36:10.8152689Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T10:36:10.8152784Z               "line": 96
2026-06-13T10:36:10.8152869Z             },
2026-06-13T10:36:10.8152951Z             {
2026-06-13T10:36:10.8153075Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T10:36:10.8153164Z               "line": 107
2026-06-13T10:36:10.8153254Z             },
2026-06-13T10:36:10.8153335Z             {
2026-06-13T10:36:10.8153458Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T10:36:10.8153548Z               "line": 124
2026-06-13T10:36:10.8153629Z             },
2026-06-13T10:36:10.8153720Z             {
2026-06-13T10:36:10.8153838Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T10:36:10.8153924Z               "line": 155
2026-06-13T10:36:10.8154011Z             },
2026-06-13T10:36:10.8154087Z             {
2026-06-13T10:36:10.8154200Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T10:36:10.8154287Z               "line": 195
2026-06-13T10:36:10.8154364Z             },
2026-06-13T10:36:10.8154440Z             {
2026-06-13T10:36:10.8154558Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T10:36:10.8154645Z               "line": 251
2026-06-13T10:36:10.8154725Z             },
2026-06-13T10:36:10.8154801Z             {
2026-06-13T10:36:10.8155040Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-13T10:36:10.8155130Z               "line": 33
2026-06-13T10:36:10.8155217Z             },
2026-06-13T10:36:10.8155289Z             {
2026-06-13T10:36:10.8155427Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-13T10:36:10.8155522Z               "line": 45
2026-06-13T10:36:10.8155609Z             },
2026-06-13T10:36:10.8155684Z             {
2026-06-13T10:36:10.8155813Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-13T10:36:10.8155895Z               "line": 59
2026-06-13T10:36:10.8156093Z             },
2026-06-13T10:36:10.8156179Z             {
2026-06-13T10:36:10.8156297Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T10:36:10.8156381Z               "line": 376
2026-06-13T10:36:10.8156462Z             }
2026-06-13T10:36:10.8156539Z           ]
2026-06-13T10:36:10.8156620Z         },
2026-06-13T10:36:10.8156701Z         "int": {
2026-06-13T10:36:10.8156796Z           "complete": true,
2026-06-13T10:36:10.8156878Z           "evidence": [
2026-06-13T10:36:10.8156964Z             {
2026-06-13T10:36:10.8157092Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.8157174Z               "line": 792
2026-06-13T10:36:10.8157249Z             },
2026-06-13T10:36:10.8157330Z             {
2026-06-13T10:36:10.8157450Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T10:36:10.8157536Z               "line": 342
2026-06-13T10:36:10.8157607Z             }
2026-06-13T10:36:10.8157688Z           ]
2026-06-13T10:36:10.8157784Z         },
2026-06-13T10:36:10.8157874Z         "unit": {
2026-06-13T10:36:10.8157969Z           "complete": true,
2026-06-13T10:36:10.8158060Z           "evidence": [
2026-06-13T10:36:10.8158142Z             {
2026-06-13T10:36:10.8158264Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T10:36:10.8158346Z               "line": 293
2026-06-13T10:36:10.8158428Z             },
2026-06-13T10:36:10.8158509Z             {
2026-06-13T10:36:10.8158636Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T10:36:10.8158721Z               "line": 304
2026-06-13T10:36:10.8158808Z             },
2026-06-13T10:36:10.8158882Z             {
2026-06-13T10:36:10.8159086Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T10:36:10.8159168Z               "line": 406
2026-06-13T10:36:10.8159263Z             },
2026-06-13T10:36:10.8159338Z             {
2026-06-13T10:36:10.8159488Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-13T10:36:10.8159582Z               "line": 72
2026-06-13T10:36:10.8159663Z             },
2026-06-13T10:36:10.8159741Z             {
2026-06-13T10:36:10.8159878Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-13T10:36:10.8159963Z               "line": 82
2026-06-13T10:36:10.8160046Z             },
2026-06-13T10:36:10.8160126Z             {
2026-06-13T10:36:10.8160259Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-13T10:36:10.8160350Z               "line": 100
2026-06-13T10:36:10.8160422Z             },
2026-06-13T10:36:10.8160503Z             {
2026-06-13T10:36:10.8160636Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-13T10:36:10.8160714Z               "line": 110
2026-06-13T10:36:10.8160793Z             },
2026-06-13T10:36:10.8160875Z             {
2026-06-13T10:36:10.8161009Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-13T10:36:10.8161089Z               "line": 125
2026-06-13T10:36:10.8161189Z             },
2026-06-13T10:36:10.8161271Z             {
2026-06-13T10:36:10.8161386Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T10:36:10.8161474Z               "line": 1044
2026-06-13T10:36:10.8161550Z             },
2026-06-13T10:36:10.8161626Z             {
2026-06-13T10:36:10.8161742Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T10:36:10.8161941Z               "line": 1110
2026-06-13T10:36:10.8162023Z             },
2026-06-13T10:36:10.8162104Z             {
2026-06-13T10:36:10.8162222Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T10:36:10.8162300Z               "line": 1357
2026-06-13T10:36:10.8162376Z             }
2026-06-13T10:36:10.8162457Z           ]
2026-06-13T10:36:10.8162537Z         }
2026-06-13T10:36:10.8162624Z       }
2026-06-13T10:36:10.8162700Z     },
2026-06-13T10:36:10.8162790Z     {
2026-06-13T10:36:10.8162876Z       "id": "REQ-PAIR-6",
2026-06-13T10:36:10.8163240Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-13T10:36:10.8163339Z       "requiredStages": [
2026-06-13T10:36:10.8163414Z         "impl",
2026-06-13T10:36:10.8163496Z         "unit"
2026-06-13T10:36:10.8163574Z       ],
2026-06-13T10:36:10.8163659Z       "stages": {
2026-06-13T10:36:10.8163734Z         "doc": {
2026-06-13T10:36:10.8163838Z           "complete": false,
2026-06-13T10:36:10.8163929Z           "evidence": []
2026-06-13T10:36:10.8164004Z         },
2026-06-13T10:36:10.8164084Z         "impl": {
2026-06-13T10:36:10.8164160Z           "complete": true,
2026-06-13T10:36:10.8164246Z           "evidence": [
2026-06-13T10:36:10.8164324Z             {
2026-06-13T10:36:10.8164431Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8164508Z               "line": 2603
2026-06-13T10:36:10.8164595Z             },
2026-06-13T10:36:10.8164675Z             {
2026-06-13T10:36:10.8164770Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8164867Z               "line": 2839
2026-06-13T10:36:10.8164942Z             },
2026-06-13T10:36:10.8165018Z             {
2026-06-13T10:36:10.8165133Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T10:36:10.8165215Z               "line": 18
2026-06-13T10:36:10.8165300Z             },
2026-06-13T10:36:10.8165376Z             {
2026-06-13T10:36:10.8165496Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T10:36:10.8165572Z               "line": 49
2026-06-13T10:36:10.8165658Z             },
2026-06-13T10:36:10.8165733Z             {
2026-06-13T10:36:10.8165825Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T10:36:10.8165915Z               "line": 163
2026-06-13T10:36:10.8165996Z             }
2026-06-13T10:36:10.8166077Z           ]
2026-06-13T10:36:10.8166164Z         },
2026-06-13T10:36:10.8166244Z         "int": {
2026-06-13T10:36:10.8166344Z           "complete": false,
2026-06-13T10:36:10.8166426Z           "evidence": []
2026-06-13T10:36:10.8166512Z         },
2026-06-13T10:36:10.8166596Z         "unit": {
2026-06-13T10:36:10.8166691Z           "complete": true,
2026-06-13T10:36:10.8166767Z           "evidence": [
2026-06-13T10:36:10.8166857Z             {
2026-06-13T10:36:10.8166956Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8167041Z               "line": 8454
2026-06-13T10:36:10.8167123Z             },
2026-06-13T10:36:10.8167200Z             {
2026-06-13T10:36:10.8169794Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8169913Z               "line": 8471
2026-06-13T10:36:10.8170005Z             },
2026-06-13T10:36:10.8170086Z             {
2026-06-13T10:36:10.8170204Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T10:36:10.8170296Z               "line": 228
2026-06-13T10:36:10.8170371Z             },
2026-06-13T10:36:10.8170448Z             {
2026-06-13T10:36:10.8170557Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T10:36:10.8170658Z               "line": 237
2026-06-13T10:36:10.8170748Z             }
2026-06-13T10:36:10.8170829Z           ]
2026-06-13T10:36:10.8170901Z         }
2026-06-13T10:36:10.8170982Z       }
2026-06-13T10:36:10.8171063Z     },
2026-06-13T10:36:10.8171144Z     {
2026-06-13T10:36:10.8171235Z       "id": "REQ-PAIR-7",
2026-06-13T10:36:10.8171391Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-13T10:36:10.8171617Z       "requiredStages": [],
2026-06-13T10:36:10.8171701Z       "stages": {
2026-06-13T10:36:10.8171783Z         "doc": {
2026-06-13T10:36:10.8171879Z           "complete": false,
2026-06-13T10:36:10.8171969Z           "evidence": []
2026-06-13T10:36:10.8172044Z         },
2026-06-13T10:36:10.8172124Z         "impl": {
2026-06-13T10:36:10.8172211Z           "complete": false,
2026-06-13T10:36:10.8172302Z           "evidence": []
2026-06-13T10:36:10.8172373Z         },
2026-06-13T10:36:10.8172453Z         "int": {
2026-06-13T10:36:10.8172540Z           "complete": false,
2026-06-13T10:36:10.8172716Z           "evidence": []
2026-06-13T10:36:10.8172812Z         },
2026-06-13T10:36:10.8172893Z         "unit": {
2026-06-13T10:36:10.8172989Z           "complete": false,
2026-06-13T10:36:10.8173073Z           "evidence": []
2026-06-13T10:36:10.8173155Z         }
2026-06-13T10:36:10.8173236Z       }
2026-06-13T10:36:10.8173322Z     },
2026-06-13T10:36:10.8173398Z     {
2026-06-13T10:36:10.8173499Z       "id": "REQ-PAIR-8",
2026-06-13T10:36:10.8174879Z       "title": "NTP TOTP offset: the pairing ceremony queries NTP at ceremony time (both sides) and applies the derived offset to the TOTP calculation in-process only; system-clock fallback when NTP is unreachable (offline LAN pairing unaffected — NTP failure never blocks a pairing that succeeds today); never sets the OS clock; no background sync loop (M8 decision 18; field trigger: enlyzeam clock >1 min off exceeds the ±1 window)",
2026-06-13T10:36:10.8174972Z       "requiredStages": [
2026-06-13T10:36:10.8175058Z         "impl",
2026-06-13T10:36:10.8175155Z         "unit"
2026-06-13T10:36:10.8175235Z       ],
2026-06-13T10:36:10.8175320Z       "stages": {
2026-06-13T10:36:10.8175403Z         "doc": {
2026-06-13T10:36:10.8175493Z           "complete": false,
2026-06-13T10:36:10.8175583Z           "evidence": []
2026-06-13T10:36:10.8175669Z         },
2026-06-13T10:36:10.8175756Z         "impl": {
2026-06-13T10:36:10.8175855Z           "complete": true,
2026-06-13T10:36:10.8175945Z           "evidence": [
2026-06-13T10:36:10.8176027Z             {
2026-06-13T10:36:10.8176156Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T10:36:10.8176242Z               "line": 577
2026-06-13T10:36:10.8176323Z             },
2026-06-13T10:36:10.8176404Z             {
2026-06-13T10:36:10.8176532Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-13T10:36:10.8176623Z               "line": 22
2026-06-13T10:36:10.8176695Z             },
2026-06-13T10:36:10.8176781Z             {
2026-06-13T10:36:10.8176890Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-13T10:36:10.8176972Z               "line": 76
2026-06-13T10:36:10.8177058Z             },
2026-06-13T10:36:10.8177142Z             {
2026-06-13T10:36:10.8177261Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-13T10:36:10.8177346Z               "line": 127
2026-06-13T10:36:10.8177431Z             }
2026-06-13T10:36:10.8177511Z           ]
2026-06-13T10:36:10.8177592Z         },
2026-06-13T10:36:10.8177668Z         "int": {
2026-06-13T10:36:10.8177755Z           "complete": false,
2026-06-13T10:36:10.8177844Z           "evidence": []
2026-06-13T10:36:10.8177921Z         },
2026-06-13T10:36:10.8177998Z         "unit": {
2026-06-13T10:36:10.8178089Z           "complete": true,
2026-06-13T10:36:10.8178178Z           "evidence": [
2026-06-13T10:36:10.8178260Z             {
2026-06-13T10:36:10.8178370Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-13T10:36:10.8178460Z               "line": 183
2026-06-13T10:36:10.8178546Z             },
2026-06-13T10:36:10.8178618Z             {
2026-06-13T10:36:10.8178736Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-13T10:36:10.8178827Z               "line": 195
2026-06-13T10:36:10.8178909Z             },
2026-06-13T10:36:10.8179056Z             {
2026-06-13T10:36:10.8179171Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-13T10:36:10.8179361Z               "line": 211
2026-06-13T10:36:10.8179442Z             },
2026-06-13T10:36:10.8179519Z             {
2026-06-13T10:36:10.8179634Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-13T10:36:10.8179723Z               "line": 227
2026-06-13T10:36:10.8179794Z             }
2026-06-13T10:36:10.8179875Z           ]
2026-06-13T10:36:10.8179952Z         }
2026-06-13T10:36:10.8180030Z       }
2026-06-13T10:36:10.8180106Z     },
2026-06-13T10:36:10.8180192Z     {
2026-06-13T10:36:10.8180279Z       "id": "REQ-PRES-1",
2026-06-13T10:36:10.8181589Z       "title": "Presence resolution: the presence datum (last_active_node, last_active_endpoint, ts) gossiped subnet-wide via the agent-interaction heartbeat (rides registry distribution, visibility-gated) + one first-class most-recently-active resolution API consumed by notif first-fire, update-consent delivery, consent escalation, and shell wake resolution (M5 scope decision 1: resolution only — the PresenceChannel endpoint stays deferred)",
2026-06-13T10:36:10.8181786Z       "requiredStages": [
2026-06-13T10:36:10.8181867Z         "impl",
2026-06-13T10:36:10.8181942Z         "unit",
2026-06-13T10:36:10.8182018Z         "int"
2026-06-13T10:36:10.8182096Z       ],
2026-06-13T10:36:10.8182177Z       "stages": {
2026-06-13T10:36:10.8182251Z         "doc": {
2026-06-13T10:36:10.8182338Z           "complete": true,
2026-06-13T10:36:10.8182425Z           "evidence": [
2026-06-13T10:36:10.8182511Z             {
2026-06-13T10:36:10.8182609Z               "path": "docs/DEFERRED.md",
2026-06-13T10:36:10.8182699Z               "line": 11
2026-06-13T10:36:10.8182790Z             }
2026-06-13T10:36:10.8182867Z           ]
2026-06-13T10:36:10.8182947Z         },
2026-06-13T10:36:10.8183042Z         "impl": {
2026-06-13T10:36:10.8183134Z           "complete": true,
2026-06-13T10:36:10.8183224Z           "evidence": [
2026-06-13T10:36:10.8183305Z             {
2026-06-13T10:36:10.8183425Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T10:36:10.8183515Z               "line": 515
2026-06-13T10:36:10.8183586Z             },
2026-06-13T10:36:10.8183667Z             {
2026-06-13T10:36:10.8183787Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T10:36:10.8183882Z               "line": 567
2026-06-13T10:36:10.8183958Z             },
2026-06-13T10:36:10.8184035Z             {
2026-06-13T10:36:10.8184149Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8184235Z               "line": 188
2026-06-13T10:36:10.8184316Z             },
2026-06-13T10:36:10.8184398Z             {
2026-06-13T10:36:10.8184521Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8184606Z               "line": 214
2026-06-13T10:36:10.8184689Z             },
2026-06-13T10:36:10.8184764Z             {
2026-06-13T10:36:10.8184891Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-13T10:36:10.8184977Z               "line": 28
2026-06-13T10:36:10.8185053Z             },
2026-06-13T10:36:10.8185147Z             {
2026-06-13T10:36:10.8185261Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-13T10:36:10.8185352Z               "line": 105
2026-06-13T10:36:10.8185429Z             },
2026-06-13T10:36:10.8185505Z             {
2026-06-13T10:36:10.8185623Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-13T10:36:10.8185710Z               "line": 161
2026-06-13T10:36:10.8185795Z             },
2026-06-13T10:36:10.8185866Z             {
2026-06-13T10:36:10.8185977Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-13T10:36:10.8186058Z               "line": 180
2026-06-13T10:36:10.8186143Z             },
2026-06-13T10:36:10.8186229Z             {
2026-06-13T10:36:10.8186340Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.8186420Z               "line": 399
2026-06-13T10:36:10.8186501Z             },
2026-06-13T10:36:10.8186577Z             {
2026-06-13T10:36:10.8186706Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T10:36:10.8186863Z               "line": 289
2026-06-13T10:36:10.8186950Z             },
2026-06-13T10:36:10.8187040Z             {
2026-06-13T10:36:10.8187158Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T10:36:10.8187246Z               "line": 336
2026-06-13T10:36:10.8187331Z             },
2026-06-13T10:36:10.8187411Z             {
2026-06-13T10:36:10.8187527Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T10:36:10.8187618Z               "line": 362
2026-06-13T10:36:10.8187698Z             },
2026-06-13T10:36:10.8187773Z             {
2026-06-13T10:36:10.8187982Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.8188071Z               "line": 100
2026-06-13T10:36:10.8188157Z             }
2026-06-13T10:36:10.8188238Z           ]
2026-06-13T10:36:10.8188320Z         },
2026-06-13T10:36:10.8188400Z         "int": {
2026-06-13T10:36:10.8188495Z           "complete": true,
2026-06-13T10:36:10.8188592Z           "evidence": [
2026-06-13T10:36:10.8188677Z             {
2026-06-13T10:36:10.8188796Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T10:36:10.8188883Z               "line": 557
2026-06-13T10:36:10.8189053Z             },
2026-06-13T10:36:10.8189134Z             {
2026-06-13T10:36:10.8189254Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.8189340Z               "line": 677
2026-06-13T10:36:10.8189426Z             },
2026-06-13T10:36:10.8189507Z             {
2026-06-13T10:36:10.8189620Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.8189721Z               "line": 1070
2026-06-13T10:36:10.8189799Z             }
2026-06-13T10:36:10.8189884Z           ]
2026-06-13T10:36:10.8189963Z         },
2026-06-13T10:36:10.8190050Z         "unit": {
2026-06-13T10:36:10.8190137Z           "complete": true,
2026-06-13T10:36:10.8190232Z           "evidence": [
2026-06-13T10:36:10.8190311Z             {
2026-06-13T10:36:10.8190426Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8190516Z               "line": 659
2026-06-13T10:36:10.8190595Z             },
2026-06-13T10:36:10.8190681Z             {
2026-06-13T10:36:10.8190795Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-13T10:36:10.8190882Z               "line": 237
2026-06-13T10:36:10.8190966Z             },
2026-06-13T10:36:10.8191043Z             {
2026-06-13T10:36:10.8191168Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-13T10:36:10.8191248Z               "line": 268
2026-06-13T10:36:10.8191334Z             },
2026-06-13T10:36:10.8191421Z             {
2026-06-13T10:36:10.8191540Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-13T10:36:10.8191629Z               "line": 304
2026-06-13T10:36:10.8191711Z             },
2026-06-13T10:36:10.8191797Z             {
2026-06-13T10:36:10.8191915Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-13T10:36:10.8192011Z               "line": 335
2026-06-13T10:36:10.8192098Z             },
2026-06-13T10:36:10.8192178Z             {
2026-06-13T10:36:10.8192307Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.8192394Z               "line": 1135
2026-06-13T10:36:10.8192478Z             },
2026-06-13T10:36:10.8192559Z             {
2026-06-13T10:36:10.8192680Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.8192765Z               "line": 1112
2026-06-13T10:36:10.8192850Z             }
2026-06-13T10:36:10.8192937Z           ]
2026-06-13T10:36:10.8193019Z         }
2026-06-13T10:36:10.8193113Z       }
2026-06-13T10:36:10.8193193Z     },
2026-06-13T10:36:10.8193278Z     {
2026-06-13T10:36:10.8193370Z       "id": "REQ-REACH-1",
2026-06-13T10:36:10.8193521Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-13T10:36:10.8193617Z       "requiredStages": [
2026-06-13T10:36:10.8193699Z         "impl",
2026-06-13T10:36:10.8193784Z         "unit",
2026-06-13T10:36:10.8193976Z         "int"
2026-06-13T10:36:10.8194061Z       ],
2026-06-13T10:36:10.8194146Z       "stages": {
2026-06-13T10:36:10.8194227Z         "doc": {
2026-06-13T10:36:10.8194319Z           "complete": false,
2026-06-13T10:36:10.8194404Z           "evidence": []
2026-06-13T10:36:10.8194489Z         },
2026-06-13T10:36:10.8194576Z         "impl": {
2026-06-13T10:36:10.8194671Z           "complete": true,
2026-06-13T10:36:10.8194761Z           "evidence": [
2026-06-13T10:36:10.8194847Z             {
2026-06-13T10:36:10.8194963Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-13T10:36:10.8195143Z               "line": 140
2026-06-13T10:36:10.8195229Z             },
2026-06-13T10:36:10.8195310Z             {
2026-06-13T10:36:10.8195428Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-13T10:36:10.8195518Z               "line": 76
2026-06-13T10:36:10.8195595Z             },
2026-06-13T10:36:10.8195679Z             {
2026-06-13T10:36:10.8195783Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-13T10:36:10.8195883Z               "line": 222
2026-06-13T10:36:10.8195970Z             },
2026-06-13T10:36:10.8196050Z             {
2026-06-13T10:36:10.8196165Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-13T10:36:10.8196251Z               "line": 422
2026-06-13T10:36:10.8196332Z             },
2026-06-13T10:36:10.8196417Z             {
2026-06-13T10:36:10.8196528Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-13T10:36:10.8196613Z               "line": 529
2026-06-13T10:36:10.8196698Z             },
2026-06-13T10:36:10.8196784Z             {
2026-06-13T10:36:10.8196900Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-13T10:36:10.8196985Z               "line": 39
2026-06-13T10:36:10.8197066Z             },
2026-06-13T10:36:10.8197152Z             {
2026-06-13T10:36:10.8197261Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T10:36:10.8197352Z               "line": 229
2026-06-13T10:36:10.8197433Z             },
2026-06-13T10:36:10.8197506Z             {
2026-06-13T10:36:10.8197614Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-13T10:36:10.8197700Z               "line": 88
2026-06-13T10:36:10.8197787Z             },
2026-06-13T10:36:10.8197868Z             {
2026-06-13T10:36:10.8197976Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-13T10:36:10.8198053Z               "line": 98
2026-06-13T10:36:10.8198136Z             },
2026-06-13T10:36:10.8198211Z             {
2026-06-13T10:36:10.8198323Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.8198409Z               "line": 210
2026-06-13T10:36:10.8198500Z             }
2026-06-13T10:36:10.8198575Z           ]
2026-06-13T10:36:10.8198659Z         },
2026-06-13T10:36:10.8198741Z         "int": {
2026-06-13T10:36:10.8198837Z           "complete": true,
2026-06-13T10:36:10.8198927Z           "evidence": [
2026-06-13T10:36:10.8199099Z             {
2026-06-13T10:36:10.8199228Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T10:36:10.8199317Z               "line": 415
2026-06-13T10:36:10.8199395Z             },
2026-06-13T10:36:10.8199471Z             {
2026-06-13T10:36:10.8199594Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T10:36:10.8199685Z               "line": 514
2026-06-13T10:36:10.8199767Z             },
2026-06-13T10:36:10.8199842Z             {
2026-06-13T10:36:10.8199961Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.8200053Z               "line": 903
2026-06-13T10:36:10.8200129Z             },
2026-06-13T10:36:10.8200209Z             {
2026-06-13T10:36:10.8200329Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.8200425Z               "line": 1198
2026-06-13T10:36:10.8200500Z             }
2026-06-13T10:36:10.8200581Z           ]
2026-06-13T10:36:10.8200659Z         },
2026-06-13T10:36:10.8200735Z         "unit": {
2026-06-13T10:36:10.8200820Z           "complete": true,
2026-06-13T10:36:10.8200995Z           "evidence": [
2026-06-13T10:36:10.8201081Z             {
2026-06-13T10:36:10.8201193Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-13T10:36:10.8201278Z               "line": 639
2026-06-13T10:36:10.8201355Z             },
2026-06-13T10:36:10.8201433Z             {
2026-06-13T10:36:10.8201546Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-13T10:36:10.8201622Z               "line": 660
2026-06-13T10:36:10.8201700Z             },
2026-06-13T10:36:10.8201776Z             {
2026-06-13T10:36:10.8201884Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-13T10:36:10.8202061Z               "line": 391
2026-06-13T10:36:10.8202142Z             },
2026-06-13T10:36:10.8202218Z             {
2026-06-13T10:36:10.8202329Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-13T10:36:10.8202423Z               "line": 93
2026-06-13T10:36:10.8202509Z             },
2026-06-13T10:36:10.8202586Z             {
2026-06-13T10:36:10.8202714Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-13T10:36:10.8202791Z               "line": 224
2026-06-13T10:36:10.8202867Z             },
2026-06-13T10:36:10.8202944Z             {
2026-06-13T10:36:10.8203062Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-13T10:36:10.8203138Z               "line": 96
2026-06-13T10:36:10.8203211Z             },
2026-06-13T10:36:10.8203293Z             {
2026-06-13T10:36:10.8203405Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-13T10:36:10.8203492Z               "line": 146
2026-06-13T10:36:10.8203564Z             },
2026-06-13T10:36:10.8203654Z             {
2026-06-13T10:36:10.8203772Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T10:36:10.8203848Z               "line": 502
2026-06-13T10:36:10.8203930Z             },
2026-06-13T10:36:10.8204011Z             {
2026-06-13T10:36:10.8204124Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-13T10:36:10.8204201Z               "line": 118
2026-06-13T10:36:10.8204287Z             },
2026-06-13T10:36:10.8204372Z             {
2026-06-13T10:36:10.8204472Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-13T10:36:10.8204560Z               "line": 148
2026-06-13T10:36:10.8204640Z             },
2026-06-13T10:36:10.8204715Z             {
2026-06-13T10:36:10.8204831Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.8204921Z               "line": 681
2026-06-13T10:36:10.8205002Z             }
2026-06-13T10:36:10.8205078Z           ]
2026-06-13T10:36:10.8205170Z         }
2026-06-13T10:36:10.8205250Z       }
2026-06-13T10:36:10.8205350Z     },
2026-06-13T10:36:10.8205431Z     {
2026-06-13T10:36:10.8205528Z       "id": "REQ-REACH-2",
2026-06-13T10:36:10.8205684Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-13T10:36:10.8205785Z       "requiredStages": [],
2026-06-13T10:36:10.8205880Z       "stages": {
2026-06-13T10:36:10.8205960Z         "doc": {
2026-06-13T10:36:10.8206055Z           "complete": false,
2026-06-13T10:36:10.8206160Z           "evidence": []
2026-06-13T10:36:10.8206239Z         },
2026-06-13T10:36:10.8206329Z         "impl": {
2026-06-13T10:36:10.8206419Z           "complete": false,
2026-06-13T10:36:10.8206511Z           "evidence": []
2026-06-13T10:36:10.8206591Z         },
2026-06-13T10:36:10.8206681Z         "int": {
2026-06-13T10:36:10.8206773Z           "complete": false,
2026-06-13T10:36:10.8206859Z           "evidence": []
2026-06-13T10:36:10.8206944Z         },
2026-06-13T10:36:10.8207024Z         "unit": {
2026-06-13T10:36:10.8207117Z           "complete": false,
2026-06-13T10:36:10.8207212Z           "evidence": []
2026-06-13T10:36:10.8207297Z         }
2026-06-13T10:36:10.8207383Z       }
2026-06-13T10:36:10.8207464Z     },
2026-06-13T10:36:10.8207545Z     {
2026-06-13T10:36:10.8207635Z       "id": "REQ-REL-1",
2026-06-13T10:36:10.8208008Z       "title": "spt-releases publish-target repo: README public face, licensing split, Pages docs at the permanent lapse-proof canonical URL (ADR-0014)",
2026-06-13T10:36:10.8208188Z       "requiredStages": [
2026-06-13T10:36:10.8208274Z         "doc",
2026-06-13T10:36:10.8208362Z         "impl"
2026-06-13T10:36:10.8208447Z       ],
2026-06-13T10:36:10.8208532Z       "stages": {
2026-06-13T10:36:10.8208613Z         "doc": {
2026-06-13T10:36:10.8208705Z           "complete": true,
2026-06-13T10:36:10.8208794Z           "evidence": [
2026-06-13T10:36:10.8208870Z             {
2026-06-13T10:36:10.8209168Z               "path": "docs/adr/0014-publish-target-repo-and-lapse-proof-canonical-url.md",
2026-06-13T10:36:10.8209258Z               "line": 3
2026-06-13T10:36:10.8209445Z             }
2026-06-13T10:36:10.8209534Z           ]
2026-06-13T10:36:10.8209615Z         },
2026-06-13T10:36:10.8209702Z         "impl": {
2026-06-13T10:36:10.8209793Z           "complete": true,
2026-06-13T10:36:10.8209882Z           "evidence": [
2026-06-13T10:36:10.8209965Z             {
2026-06-13T10:36:10.8210093Z               "path": ".github/workflows/docs-publish.yml",
2026-06-13T10:36:10.8210183Z               "line": 11
2026-06-13T10:36:10.8210269Z             },
2026-06-13T10:36:10.8210351Z             {
2026-06-13T10:36:10.8210474Z               "path": "crates/xtask/src/main.rs",
2026-06-13T10:36:10.8210560Z               "line": 265
2026-06-13T10:36:10.8210642Z             }
2026-06-13T10:36:10.8210727Z           ]
2026-06-13T10:36:10.8210808Z         },
2026-06-13T10:36:10.8210894Z         "int": {
2026-06-13T10:36:10.8210985Z           "complete": false,
2026-06-13T10:36:10.8211074Z           "evidence": []
2026-06-13T10:36:10.8211160Z         },
2026-06-13T10:36:10.8211248Z         "unit": {
2026-06-13T10:36:10.8211343Z           "complete": false,
2026-06-13T10:36:10.8211431Z           "evidence": []
2026-06-13T10:36:10.8211512Z         }
2026-06-13T10:36:10.8211598Z       }
2026-06-13T10:36:10.8211678Z     },
2026-06-13T10:36:10.8211763Z     {
2026-06-13T10:36:10.8211848Z       "id": "REQ-REL-2",
2026-06-13T10:36:10.8212316Z       "title": "Release asset set consumable by the self-updater: platform binaries, SHA256SUMS, SignedRelease metadata, manifest schema, mock-adapter zip; tag-triggered cross-repo pipeline",
2026-06-13T10:36:10.8212415Z       "requiredStages": [
2026-06-13T10:36:10.8212507Z         "impl",
2026-06-13T10:36:10.8212588Z         "int"
2026-06-13T10:36:10.8212669Z       ],
2026-06-13T10:36:10.8212759Z       "stages": {
2026-06-13T10:36:10.8212837Z         "doc": {
2026-06-13T10:36:10.8212932Z           "complete": true,
2026-06-13T10:36:10.8213017Z           "evidence": [
2026-06-13T10:36:10.8213103Z             {
2026-06-13T10:36:10.8213214Z               "path": "docs/RELEASE-RUNBOOK.md",
2026-06-13T10:36:10.8213308Z               "line": 6
2026-06-13T10:36:10.8213393Z             }
2026-06-13T10:36:10.8213471Z           ]
2026-06-13T10:36:10.8213557Z         },
2026-06-13T10:36:10.8213641Z         "impl": {
2026-06-13T10:36:10.8213732Z           "complete": true,
2026-06-13T10:36:10.8213819Z           "evidence": [
2026-06-13T10:36:10.8213918Z             {
2026-06-13T10:36:10.8214032Z               "path": ".github/workflows/release.yml",
2026-06-13T10:36:10.8214120Z               "line": 16
2026-06-13T10:36:10.8214205Z             },
2026-06-13T10:36:10.8214284Z             {
2026-06-13T10:36:10.8214393Z               "path": "crates/xtask/src/main.rs",
2026-06-13T10:36:10.8214480Z               "line": 352
2026-06-13T10:36:10.8214567Z             },
2026-06-13T10:36:10.8214646Z             {
2026-06-13T10:36:10.8214752Z               "path": "crates/xtask/src/main.rs",
2026-06-13T10:36:10.8214847Z               "line": 426
2026-06-13T10:36:10.8214933Z             },
2026-06-13T10:36:10.8215014Z             {
2026-06-13T10:36:10.8215115Z               "path": "crates/xtask/src/main.rs",
2026-06-13T10:36:10.8215210Z               "line": 588
2026-06-13T10:36:10.8215290Z             },
2026-06-13T10:36:10.8215372Z             {
2026-06-13T10:36:10.8215477Z               "path": "crates/xtask/src/main.rs",
2026-06-13T10:36:10.8215567Z               "line": 720
2026-06-13T10:36:10.8215778Z             }
2026-06-13T10:36:10.8215858Z           ]
2026-06-13T10:36:10.8215943Z         },
2026-06-13T10:36:10.8216030Z         "int": {
2026-06-13T10:36:10.8216121Z           "complete": true,
2026-06-13T10:36:10.8216210Z           "evidence": [
2026-06-13T10:36:10.8216292Z             {
2026-06-13T10:36:10.8216422Z               "path": "crates/spt/tests/release_verify_e2e.rs",
2026-06-13T10:36:10.8216501Z               "line": 13
2026-06-13T10:36:10.8216577Z             }
2026-06-13T10:36:10.8216653Z           ]
2026-06-13T10:36:10.8216734Z         },
2026-06-13T10:36:10.8216894Z         "unit": {
2026-06-13T10:36:10.8216984Z           "complete": false,
2026-06-13T10:36:10.8217081Z           "evidence": []
2026-06-13T10:36:10.8217166Z         }
2026-06-13T10:36:10.8217246Z       }
2026-06-13T10:36:10.8217323Z     },
2026-06-13T10:36:10.8217405Z     {
2026-06-13T10:36:10.8217495Z       "id": "REQ-REL-3",
2026-06-13T10:36:10.8217909Z       "title": "Two-key release-signing trust anchor: primary + offline never-used recovery, both pubkeys embedded in the binary's trusted set, manual local signing (ADR-0015)",
2026-06-13T10:36:10.8217996Z       "requiredStages": [
2026-06-13T10:36:10.8218082Z         "impl",
2026-06-13T10:36:10.8218162Z         "unit"
2026-06-13T10:36:10.8218243Z       ],
2026-06-13T10:36:10.8218316Z       "stages": {
2026-06-13T10:36:10.8218420Z         "doc": {
2026-06-13T10:36:10.8218520Z           "complete": false,
2026-06-13T10:36:10.8218650Z           "evidence": []
2026-06-13T10:36:10.8218725Z         },
2026-06-13T10:36:10.8218806Z         "impl": {
2026-06-13T10:36:10.8218902Z           "complete": true,
2026-06-13T10:36:10.8219082Z           "evidence": [
2026-06-13T10:36:10.8219164Z             {
2026-06-13T10:36:10.8219279Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8219368Z               "line": 237
2026-06-13T10:36:10.8219444Z             },
2026-06-13T10:36:10.8219525Z             {
2026-06-13T10:36:10.8219648Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8219728Z               "line": 289
2026-06-13T10:36:10.8219808Z             },
2026-06-13T10:36:10.8219895Z             {
2026-06-13T10:36:10.8220000Z               "path": "crates/xtask/src/main.rs",
2026-06-13T10:36:10.8220085Z               "line": 329
2026-06-13T10:36:10.8220166Z             },
2026-06-13T10:36:10.8220248Z             {
2026-06-13T10:36:10.8220357Z               "path": "crates/xtask/src/main.rs",
2026-06-13T10:36:10.8220447Z               "line": 353
2026-06-13T10:36:10.8220530Z             },
2026-06-13T10:36:10.8220615Z             {
2026-06-13T10:36:10.8220719Z               "path": "crates/xtask/src/main.rs",
2026-06-13T10:36:10.8220801Z               "line": 394
2026-06-13T10:36:10.8220882Z             }
2026-06-13T10:36:10.8220963Z           ]
2026-06-13T10:36:10.8221044Z         },
2026-06-13T10:36:10.8221125Z         "int": {
2026-06-13T10:36:10.8221221Z           "complete": false,
2026-06-13T10:36:10.8221315Z           "evidence": []
2026-06-13T10:36:10.8221396Z         },
2026-06-13T10:36:10.8221474Z         "unit": {
2026-06-13T10:36:10.8221569Z           "complete": true,
2026-06-13T10:36:10.8221649Z           "evidence": [
2026-06-13T10:36:10.8221730Z             {
2026-06-13T10:36:10.8221851Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8221940Z               "line": 992
2026-06-13T10:36:10.8222020Z             },
2026-06-13T10:36:10.8222106Z             {
2026-06-13T10:36:10.8222210Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8222309Z               "line": 1051
2026-06-13T10:36:10.8222385Z             }
2026-06-13T10:36:10.8222461Z           ]
2026-06-13T10:36:10.8222543Z         }
2026-06-13T10:36:10.8222619Z       }
2026-06-13T10:36:10.8222699Z     },
2026-06-13T10:36:10.8222781Z     {
2026-06-13T10:36:10.8222886Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-13T10:36:10.8223052Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-13T10:36:10.8223244Z       "requiredStages": [
2026-06-13T10:36:10.8223324Z         "impl",
2026-06-13T10:36:10.8223406Z         "unit"
2026-06-13T10:36:10.8223487Z       ],
2026-06-13T10:36:10.8223573Z       "stages": {
2026-06-13T10:36:10.8223658Z         "doc": {
2026-06-13T10:36:10.8223735Z           "complete": false,
2026-06-13T10:36:10.8223825Z           "evidence": []
2026-06-13T10:36:10.8223911Z         },
2026-06-13T10:36:10.8223997Z         "impl": {
2026-06-13T10:36:10.8224093Z           "complete": true,
2026-06-13T10:36:10.8224177Z           "evidence": [
2026-06-13T10:36:10.8224360Z             {
2026-06-13T10:36:10.8224469Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T10:36:10.8224560Z               "line": 18
2026-06-13T10:36:10.8224631Z             },
2026-06-13T10:36:10.8224713Z             {
2026-06-13T10:36:10.8224826Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T10:36:10.8224916Z               "line": 35
2026-06-13T10:36:10.8225007Z             },
2026-06-13T10:36:10.8225083Z             {
2026-06-13T10:36:10.8225206Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T10:36:10.8225292Z               "line": 72
2026-06-13T10:36:10.8225379Z             }
2026-06-13T10:36:10.8225465Z           ]
2026-06-13T10:36:10.8225545Z         },
2026-06-13T10:36:10.8225632Z         "int": {
2026-06-13T10:36:10.8225731Z           "complete": false,
2026-06-13T10:36:10.8225822Z           "evidence": []
2026-06-13T10:36:10.8225907Z         },
2026-06-13T10:36:10.8225994Z         "unit": {
2026-06-13T10:36:10.8226098Z           "complete": true,
2026-06-13T10:36:10.8226184Z           "evidence": [
2026-06-13T10:36:10.8226276Z             {
2026-06-13T10:36:10.8226394Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T10:36:10.8226489Z               "line": 214
2026-06-13T10:36:10.8226576Z             },
2026-06-13T10:36:10.8226658Z             {
2026-06-13T10:36:10.8226775Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T10:36:10.8226866Z               "line": 231
2026-06-13T10:36:10.8226958Z             },
2026-06-13T10:36:10.8227042Z             {
2026-06-13T10:36:10.8227156Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T10:36:10.8227256Z               "line": 240
2026-06-13T10:36:10.8227336Z             }
2026-06-13T10:36:10.8227421Z           ]
2026-06-13T10:36:10.8227501Z         }
2026-06-13T10:36:10.8227588Z       }
2026-06-13T10:36:10.8227670Z     },
2026-06-13T10:36:10.8227759Z     {
2026-06-13T10:36:10.8227859Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-13T10:36:10.8228022Z       "title": "Hostable endpoint-types capability declaration",
2026-06-13T10:36:10.8228126Z       "requiredStages": [
2026-06-13T10:36:10.8228213Z         "impl",
2026-06-13T10:36:10.8228293Z         "unit"
2026-06-13T10:36:10.8228378Z       ],
2026-06-13T10:36:10.8228469Z       "stages": {
2026-06-13T10:36:10.8228552Z         "doc": {
2026-06-13T10:36:10.8228646Z           "complete": false,
2026-06-13T10:36:10.8228746Z           "evidence": []
2026-06-13T10:36:10.8228828Z         },
2026-06-13T10:36:10.8228913Z         "impl": {
2026-06-13T10:36:10.8229089Z           "complete": true,
2026-06-13T10:36:10.8229181Z           "evidence": [
2026-06-13T10:36:10.8229266Z             {
2026-06-13T10:36:10.8229385Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.8229482Z               "line": 406
2026-06-13T10:36:10.8229562Z             }
2026-06-13T10:36:10.8229647Z           ]
2026-06-13T10:36:10.8229729Z         },
2026-06-13T10:36:10.8229816Z         "int": {
2026-06-13T10:36:10.8229919Z           "complete": false,
2026-06-13T10:36:10.8230009Z           "evidence": []
2026-06-13T10:36:10.8230095Z         },
2026-06-13T10:36:10.8230180Z         "unit": {
2026-06-13T10:36:10.8230269Z           "complete": true,
2026-06-13T10:36:10.8230354Z           "evidence": [
2026-06-13T10:36:10.8230435Z             {
2026-06-13T10:36:10.8230555Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.8230750Z               "line": 720
2026-06-13T10:36:10.8230842Z             }
2026-06-13T10:36:10.8230922Z           ]
2026-06-13T10:36:10.8231007Z         }
2026-06-13T10:36:10.8231085Z       }
2026-06-13T10:36:10.8231170Z     },
2026-06-13T10:36:10.8231251Z     {
2026-06-13T10:36:10.8231346Z       "id": "REQ-SEAM-HISTORY",
2026-06-13T10:36:10.8231528Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-13T10:36:10.8231623Z       "requiredStages": [
2026-06-13T10:36:10.8231709Z         "impl",
2026-06-13T10:36:10.8231889Z         "unit",
2026-06-13T10:36:10.8231975Z         "int"
2026-06-13T10:36:10.8232058Z       ],
2026-06-13T10:36:10.8232143Z       "stages": {
2026-06-13T10:36:10.8232228Z         "doc": {
2026-06-13T10:36:10.8232320Z           "complete": false,
2026-06-13T10:36:10.8232411Z           "evidence": []
2026-06-13T10:36:10.8232491Z         },
2026-06-13T10:36:10.8232580Z         "impl": {
2026-06-13T10:36:10.8232685Z           "complete": true,
2026-06-13T10:36:10.8232770Z           "evidence": [
2026-06-13T10:36:10.8232855Z             {
2026-06-13T10:36:10.8232968Z               "path": "crates/spt-live/src/echo.rs",
2026-06-13T10:36:10.8233060Z               "line": 24
2026-06-13T10:36:10.8233141Z             },
2026-06-13T10:36:10.8233226Z             {
2026-06-13T10:36:10.8233341Z               "path": "crates/spt-live/src/history.rs",
2026-06-13T10:36:10.8233427Z               "line": 22
2026-06-13T10:36:10.8233517Z             }
2026-06-13T10:36:10.8233603Z           ]
2026-06-13T10:36:10.8233685Z         },
2026-06-13T10:36:10.8233775Z         "int": {
2026-06-13T10:36:10.8233865Z           "complete": true,
2026-06-13T10:36:10.8233962Z           "evidence": [
2026-06-13T10:36:10.8234042Z             {
2026-06-13T10:36:10.8236678Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-13T10:36:10.8236792Z               "line": 260
2026-06-13T10:36:10.8236884Z             }
2026-06-13T10:36:10.8236968Z           ]
2026-06-13T10:36:10.8237059Z         },
2026-06-13T10:36:10.8237146Z         "unit": {
2026-06-13T10:36:10.8237236Z           "complete": true,
2026-06-13T10:36:10.8237325Z           "evidence": [
2026-06-13T10:36:10.8237402Z             {
2026-06-13T10:36:10.8237523Z               "path": "crates/spt-live/src/echo.rs",
2026-06-13T10:36:10.8237607Z               "line": 167
2026-06-13T10:36:10.8237692Z             },
2026-06-13T10:36:10.8237768Z             {
2026-06-13T10:36:10.8237883Z               "path": "crates/spt-live/src/echo.rs",
2026-06-13T10:36:10.8237971Z               "line": 196
2026-06-13T10:36:10.8238061Z             },
2026-06-13T10:36:10.8238138Z             {
2026-06-13T10:36:10.8238239Z               "path": "crates/spt-live/src/echo.rs",
2026-06-13T10:36:10.8238333Z               "line": 216
2026-06-13T10:36:10.8238415Z             },
2026-06-13T10:36:10.8238487Z             {
2026-06-13T10:36:10.8238605Z               "path": "crates/spt-live/src/history.rs",
2026-06-13T10:36:10.8238696Z               "line": 199
2026-06-13T10:36:10.8238773Z             },
2026-06-13T10:36:10.8238853Z             {
2026-06-13T10:36:10.8239059Z               "path": "crates/spt-live/src/history.rs",
2026-06-13T10:36:10.8239150Z               "line": 219
2026-06-13T10:36:10.8239226Z             },
2026-06-13T10:36:10.8239311Z             {
2026-06-13T10:36:10.8239417Z               "path": "crates/spt-live/src/history.rs",
2026-06-13T10:36:10.8239502Z               "line": 244
2026-06-13T10:36:10.8239587Z             },
2026-06-13T10:36:10.8239668Z             {
2026-06-13T10:36:10.8239770Z               "path": "crates/spt-live/src/history.rs",
2026-06-13T10:36:10.8239850Z               "line": 269
2026-06-13T10:36:10.8239935Z             },
2026-06-13T10:36:10.8240018Z             {
2026-06-13T10:36:10.8240131Z               "path": "crates/spt-live/src/history.rs",
2026-06-13T10:36:10.8240212Z               "line": 290
2026-06-13T10:36:10.8240294Z             },
2026-06-13T10:36:10.8240512Z             {
2026-06-13T10:36:10.8240616Z               "path": "crates/spt-live/src/history.rs",
2026-06-13T10:36:10.8240702Z               "line": 317
2026-06-13T10:36:10.8240787Z             }
2026-06-13T10:36:10.8240862Z           ]
2026-06-13T10:36:10.8240942Z         }
2026-06-13T10:36:10.8241020Z       }
2026-06-13T10:36:10.8241092Z     },
2026-06-13T10:36:10.8241172Z     {
2026-06-13T10:36:10.8241281Z       "id": "REQ-SEAM-INJECT",
2026-06-13T10:36:10.8241449Z       "title": "inject-input methods configurable per activity-state",
2026-06-13T10:36:10.8241539Z       "requiredStages": [
2026-06-13T10:36:10.8241721Z         "impl",
2026-06-13T10:36:10.8241802Z         "unit"
2026-06-13T10:36:10.8241887Z       ],
2026-06-13T10:36:10.8241969Z       "stages": {
2026-06-13T10:36:10.8242054Z         "doc": {
2026-06-13T10:36:10.8242149Z           "complete": false,
2026-06-13T10:36:10.8242230Z           "evidence": []
2026-06-13T10:36:10.8242313Z         },
2026-06-13T10:36:10.8242402Z         "impl": {
2026-06-13T10:36:10.8242493Z           "complete": true,
2026-06-13T10:36:10.8242575Z           "evidence": [
2026-06-13T10:36:10.8242660Z             {
2026-06-13T10:36:10.8242769Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T10:36:10.8242860Z               "line": 19
2026-06-13T10:36:10.8242938Z             },
2026-06-13T10:36:10.8243018Z             {
2026-06-13T10:36:10.8243140Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T10:36:10.8243226Z               "line": 111
2026-06-13T10:36:10.8243307Z             }
2026-06-13T10:36:10.8243386Z           ]
2026-06-13T10:36:10.8243471Z         },
2026-06-13T10:36:10.8243553Z         "int": {
2026-06-13T10:36:10.8243640Z           "complete": false,
2026-06-13T10:36:10.8243725Z           "evidence": []
2026-06-13T10:36:10.8243805Z         },
2026-06-13T10:36:10.8243887Z         "unit": {
2026-06-13T10:36:10.8243978Z           "complete": true,
2026-06-13T10:36:10.8244063Z           "evidence": [
2026-06-13T10:36:10.8244153Z             {
2026-06-13T10:36:10.8244254Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T10:36:10.8244345Z               "line": 320
2026-06-13T10:36:10.8244416Z             },
2026-06-13T10:36:10.8244492Z             {
2026-06-13T10:36:10.8244602Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T10:36:10.8244693Z               "line": 340
2026-06-13T10:36:10.8244768Z             }
2026-06-13T10:36:10.8244856Z           ]
2026-06-13T10:36:10.8244941Z         }
2026-06-13T10:36:10.8245017Z       }
2026-06-13T10:36:10.8245102Z     },
2026-06-13T10:36:10.8245180Z     {
2026-06-13T10:36:10.8245284Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-13T10:36:10.8245412Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-13T10:36:10.8245500Z       "requiredStages": [
2026-06-13T10:36:10.8245589Z         "impl",
2026-06-13T10:36:10.8245665Z         "unit"
2026-06-13T10:36:10.8245747Z       ],
2026-06-13T10:36:10.8245833Z       "stages": {
2026-06-13T10:36:10.8245923Z         "doc": {
2026-06-13T10:36:10.8246012Z           "complete": false,
2026-06-13T10:36:10.8246093Z           "evidence": []
2026-06-13T10:36:10.8246180Z         },
2026-06-13T10:36:10.8246261Z         "impl": {
2026-06-13T10:36:10.8246341Z           "complete": true,
2026-06-13T10:36:10.8246427Z           "evidence": [
2026-06-13T10:36:10.8246514Z             {
2026-06-13T10:36:10.8246627Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.8246708Z               "line": 18
2026-06-13T10:36:10.8246790Z             },
2026-06-13T10:36:10.8246871Z             {
2026-06-13T10:36:10.8246975Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.8247061Z               "line": 325
2026-06-13T10:36:10.8247148Z             }
2026-06-13T10:36:10.8247228Z           ]
2026-06-13T10:36:10.8247304Z         },
2026-06-13T10:36:10.8247386Z         "int": {
2026-06-13T10:36:10.8247467Z           "complete": false,
2026-06-13T10:36:10.8247552Z           "evidence": []
2026-06-13T10:36:10.8247725Z         },
2026-06-13T10:36:10.8247806Z         "unit": {
2026-06-13T10:36:10.8247890Z           "complete": true,
2026-06-13T10:36:10.8247977Z           "evidence": [
2026-06-13T10:36:10.8248059Z             {
2026-06-13T10:36:10.8248167Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.8248257Z               "line": 576
2026-06-13T10:36:10.8248338Z             },
2026-06-13T10:36:10.8248424Z             {
2026-06-13T10:36:10.8248526Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.8248612Z               "line": 586
2026-06-13T10:36:10.8248756Z             }
2026-06-13T10:36:10.8248841Z           ]
2026-06-13T10:36:10.8248922Z         }
2026-06-13T10:36:10.8249108Z       }
2026-06-13T10:36:10.8249180Z     },
2026-06-13T10:36:10.8249261Z     {
2026-06-13T10:36:10.8249357Z       "id": "REQ-SEAM-PSYCHE",
2026-06-13T10:36:10.8249499Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-13T10:36:10.8249594Z       "requiredStages": [
2026-06-13T10:36:10.8249681Z         "impl",
2026-06-13T10:36:10.8249757Z         "unit",
2026-06-13T10:36:10.8249833Z         "int"
2026-06-13T10:36:10.8249909Z       ],
2026-06-13T10:36:10.8249986Z       "stages": {
2026-06-13T10:36:10.8250071Z         "doc": {
2026-06-13T10:36:10.8250162Z           "complete": false,
2026-06-13T10:36:10.8250253Z           "evidence": []
2026-06-13T10:36:10.8250330Z         },
2026-06-13T10:36:10.8250405Z         "impl": {
2026-06-13T10:36:10.8250495Z           "complete": true,
2026-06-13T10:36:10.8250583Z           "evidence": [
2026-06-13T10:36:10.8250659Z             {
2026-06-13T10:36:10.8250782Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-13T10:36:10.8250863Z               "line": 19
2026-06-13T10:36:10.8250936Z             },
2026-06-13T10:36:10.8251011Z             {
2026-06-13T10:36:10.8251124Z               "path": "crates/spt/src/api/live.rs",
2026-06-13T10:36:10.8251215Z               "line": 12
2026-06-13T10:36:10.8251305Z             },
2026-06-13T10:36:10.8251375Z             {
2026-06-13T10:36:10.8251488Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.8251580Z               "line": 225
2026-06-13T10:36:10.8251657Z             }
2026-06-13T10:36:10.8251737Z           ]
2026-06-13T10:36:10.8251813Z         },
2026-06-13T10:36:10.8251905Z         "int": {
2026-06-13T10:36:10.8251990Z           "complete": true,
2026-06-13T10:36:10.8252075Z           "evidence": [
2026-06-13T10:36:10.8252151Z             {
2026-06-13T10:36:10.8252271Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-13T10:36:10.8252362Z               "line": 259
2026-06-13T10:36:10.8252442Z             }
2026-06-13T10:36:10.8252524Z           ]
2026-06-13T10:36:10.8252596Z         },
2026-06-13T10:36:10.8252686Z         "unit": {
2026-06-13T10:36:10.8252771Z           "complete": true,
2026-06-13T10:36:10.8252864Z           "evidence": [
2026-06-13T10:36:10.8252934Z             {
2026-06-13T10:36:10.8253053Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-13T10:36:10.8253144Z               "line": 161
2026-06-13T10:36:10.8253211Z             },
2026-06-13T10:36:10.8253296Z             {
2026-06-13T10:36:10.8253401Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-13T10:36:10.8253483Z               "line": 168
2026-06-13T10:36:10.8253554Z             },
2026-06-13T10:36:10.8253634Z             {
2026-06-13T10:36:10.8253743Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-13T10:36:10.8253834Z               "line": 191
2026-06-13T10:36:10.8253909Z             },
2026-06-13T10:36:10.8253999Z             {
2026-06-13T10:36:10.8254113Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-13T10:36:10.8254190Z               "line": 106
2026-06-13T10:36:10.8254266Z             },
2026-06-13T10:36:10.8254342Z             {
2026-06-13T10:36:10.8254447Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-13T10:36:10.8254533Z               "line": 137
2026-06-13T10:36:10.8254718Z             },
2026-06-13T10:36:10.8254805Z             {
2026-06-13T10:36:10.8254914Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-13T10:36:10.8254999Z               "line": 161
2026-06-13T10:36:10.8255092Z             }
2026-06-13T10:36:10.8255167Z           ]
2026-06-13T10:36:10.8255253Z         }
2026-06-13T10:36:10.8255333Z       }
2026-06-13T10:36:10.8255421Z     },
2026-06-13T10:36:10.8255501Z     {
2026-06-13T10:36:10.8255601Z       "id": "REQ-SEAM-RESUME",
2026-06-13T10:36:10.8255787Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-13T10:36:10.8255977Z       "requiredStages": [
2026-06-13T10:36:10.8256065Z         "impl",
2026-06-13T10:36:10.8256144Z         "unit"
2026-06-13T10:36:10.8256225Z       ],
2026-06-13T10:36:10.8256312Z       "stages": {
2026-06-13T10:36:10.8256393Z         "doc": {
2026-06-13T10:36:10.8256487Z           "complete": false,
2026-06-13T10:36:10.8256577Z           "evidence": []
2026-06-13T10:36:10.8256667Z         },
2026-06-13T10:36:10.8256755Z         "impl": {
2026-06-13T10:36:10.8256849Z           "complete": true,
2026-06-13T10:36:10.8256934Z           "evidence": [
2026-06-13T10:36:10.8257016Z             {
2026-06-13T10:36:10.8257126Z               "path": "crates/spt-live/src/resume.rs",
2026-06-13T10:36:10.8257211Z               "line": 19
2026-06-13T10:36:10.8257292Z             }
2026-06-13T10:36:10.8257374Z           ]
2026-06-13T10:36:10.8257455Z         },
2026-06-13T10:36:10.8257540Z         "int": {
2026-06-13T10:36:10.8257626Z           "complete": false,
2026-06-13T10:36:10.8257717Z           "evidence": []
2026-06-13T10:36:10.8257808Z         },
2026-06-13T10:36:10.8257893Z         "unit": {
2026-06-13T10:36:10.8257980Z           "complete": true,
2026-06-13T10:36:10.8258075Z           "evidence": [
2026-06-13T10:36:10.8258156Z             {
2026-06-13T10:36:10.8258271Z               "path": "crates/spt-live/src/resume.rs",
2026-06-13T10:36:10.8258366Z               "line": 193
2026-06-13T10:36:10.8258450Z             },
2026-06-13T10:36:10.8258532Z             {
2026-06-13T10:36:10.8258643Z               "path": "crates/spt-live/src/resume.rs",
2026-06-13T10:36:10.8258727Z               "line": 215
2026-06-13T10:36:10.8258812Z             },
2026-06-13T10:36:10.8258893Z             {
2026-06-13T10:36:10.8259096Z               "path": "crates/spt-live/src/resume.rs",
2026-06-13T10:36:10.8259182Z               "line": 236
2026-06-13T10:36:10.8259268Z             }
2026-06-13T10:36:10.8259345Z           ]
2026-06-13T10:36:10.8259430Z         }
2026-06-13T10:36:10.8259511Z       }
2026-06-13T10:36:10.8259597Z     },
2026-06-13T10:36:10.8259683Z     {
2026-06-13T10:36:10.8259782Z       "id": "REQ-SEAM-SPAWN",
2026-06-13T10:36:10.8259879Z       "title": "spawn-session seam",
2026-06-13T10:36:10.8259974Z       "requiredStages": [
2026-06-13T10:36:10.8260059Z         "impl",
2026-06-13T10:36:10.8260145Z         "unit"
2026-06-13T10:36:10.8260227Z       ],
2026-06-13T10:36:10.8260317Z       "stages": {
2026-06-13T10:36:10.8260402Z         "doc": {
2026-06-13T10:36:10.8260493Z           "complete": false,
2026-06-13T10:36:10.8260585Z           "evidence": []
2026-06-13T10:36:10.8260670Z         },
2026-06-13T10:36:10.8260755Z         "impl": {
2026-06-13T10:36:10.8260847Z           "complete": true,
2026-06-13T10:36:10.8260937Z           "evidence": [
2026-06-13T10:36:10.8261018Z             {
2026-06-13T10:36:10.8261138Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T10:36:10.8261224Z               "line": 20
2026-06-13T10:36:10.8261308Z             }
2026-06-13T10:36:10.8261390Z           ]
2026-06-13T10:36:10.8261477Z         },
2026-06-13T10:36:10.8261558Z         "int": {
2026-06-13T10:36:10.8261651Z           "complete": false,
2026-06-13T10:36:10.8261736Z           "evidence": []
2026-06-13T10:36:10.8261822Z         },
2026-06-13T10:36:10.8261907Z         "unit": {
2026-06-13T10:36:10.8261992Z           "complete": true,
2026-06-13T10:36:10.8262082Z           "evidence": [
2026-06-13T10:36:10.8262273Z             {
2026-06-13T10:36:10.8262392Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T10:36:10.8262479Z               "line": 435
2026-06-13T10:36:10.8262560Z             },
2026-06-13T10:36:10.8262640Z             {
2026-06-13T10:36:10.8262755Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T10:36:10.8262841Z               "line": 442
2026-06-13T10:36:10.8262926Z             },
2026-06-13T10:36:10.8263007Z             {
2026-06-13T10:36:10.8263118Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T10:36:10.8263208Z               "line": 452
2026-06-13T10:36:10.8263385Z             },
2026-06-13T10:36:10.8263471Z             {
2026-06-13T10:36:10.8263584Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T10:36:10.8263675Z               "line": 458
2026-06-13T10:36:10.8263757Z             },
2026-06-13T10:36:10.8263842Z             {
2026-06-13T10:36:10.8263952Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T10:36:10.8264048Z               "line": 483
2026-06-13T10:36:10.8264133Z             },
2026-06-13T10:36:10.8264213Z             {
2026-06-13T10:36:10.8264332Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T10:36:10.8264418Z               "line": 520
2026-06-13T10:36:10.8264502Z             }
2026-06-13T10:36:10.8264582Z           ]
2026-06-13T10:36:10.8264668Z         }
2026-06-13T10:36:10.8264750Z       }
2026-06-13T10:36:10.8264831Z     },
2026-06-13T10:36:10.8264916Z     {
2026-06-13T10:36:10.8265007Z       "id": "REQ-SEAM-UPDATE",
2026-06-13T10:36:10.8265174Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-13T10:36:10.8265269Z       "requiredStages": [
2026-06-13T10:36:10.8265356Z         "impl",
2026-06-13T10:36:10.8265441Z         "unit"
2026-06-13T10:36:10.8265521Z       ],
2026-06-13T10:36:10.8265608Z       "stages": {
2026-06-13T10:36:10.8265689Z         "doc": {
2026-06-13T10:36:10.8265784Z           "complete": false,
2026-06-13T10:36:10.8265875Z           "evidence": []
2026-06-13T10:36:10.8265956Z         },
2026-06-13T10:36:10.8266037Z         "impl": {
2026-06-13T10:36:10.8266127Z           "complete": true,
2026-06-13T10:36:10.8266203Z           "evidence": [
2026-06-13T10:36:10.8266281Z             {
2026-06-13T10:36:10.8266413Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T10:36:10.8266494Z               "line": 28
2026-06-13T10:36:10.8266581Z             },
2026-06-13T10:36:10.8266672Z             {
2026-06-13T10:36:10.8266795Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T10:36:10.8266882Z               "line": 83
2026-06-13T10:36:10.8266954Z             }
2026-06-13T10:36:10.8267033Z           ]
2026-06-13T10:36:10.8267114Z         },
2026-06-13T10:36:10.8267199Z         "int": {
2026-06-13T10:36:10.8267295Z           "complete": false,
2026-06-13T10:36:10.8267381Z           "evidence": []
2026-06-13T10:36:10.8267456Z         },
2026-06-13T10:36:10.8267537Z         "unit": {
2026-06-13T10:36:10.8267629Z           "complete": true,
2026-06-13T10:36:10.8267705Z           "evidence": [
2026-06-13T10:36:10.8267790Z             {
2026-06-13T10:36:10.8267915Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T10:36:10.8267996Z               "line": 286
2026-06-13T10:36:10.8268081Z             },
2026-06-13T10:36:10.8268158Z             {
2026-06-13T10:36:10.8268277Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T10:36:10.8268358Z               "line": 297
2026-06-13T10:36:10.8268438Z             }
2026-06-13T10:36:10.8268526Z           ]
2026-06-13T10:36:10.8268602Z         }
2026-06-13T10:36:10.8268687Z       }
2026-06-13T10:36:10.8268758Z     },
2026-06-13T10:36:10.8268841Z     {
2026-06-13T10:36:10.8268936Z       "id": "REQ-SEC-1",
2026-06-13T10:36:10.8269392Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-13T10:36:10.8269586Z       "requiredStages": [
2026-06-13T10:36:10.8269670Z         "impl",
2026-06-13T10:36:10.8269756Z         "unit"
2026-06-13T10:36:10.8269833Z       ],
2026-06-13T10:36:10.8269915Z       "stages": {
2026-06-13T10:36:10.8269994Z         "doc": {
2026-06-13T10:36:10.8270080Z           "complete": false,
2026-06-13T10:36:10.8270162Z           "evidence": []
2026-06-13T10:36:10.8270243Z         },
2026-06-13T10:36:10.8270328Z         "impl": {
2026-06-13T10:36:10.8270404Z           "complete": true,
2026-06-13T10:36:10.8270487Z           "evidence": [
2026-06-13T10:36:10.8270572Z             {
2026-06-13T10:36:10.8270806Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-13T10:36:10.8270886Z               "line": 84
2026-06-13T10:36:10.8270972Z             },
2026-06-13T10:36:10.8271053Z             {
2026-06-13T10:36:10.8271168Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-13T10:36:10.8271254Z               "line": 114
2026-06-13T10:36:10.8271330Z             },
2026-06-13T10:36:10.8271412Z             {
2026-06-13T10:36:10.8271521Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-13T10:36:10.8271611Z               "line": 128
2026-06-13T10:36:10.8271698Z             },
2026-06-13T10:36:10.8271765Z             {
2026-06-13T10:36:10.8271887Z               "path": "crates/spt-store/src/access.rs",
2026-06-13T10:36:10.8271979Z               "line": 108
2026-06-13T10:36:10.8272065Z             },
2026-06-13T10:36:10.8272146Z             {
2026-06-13T10:36:10.8272244Z               "path": "crates/spt-store/src/access.rs",
2026-06-13T10:36:10.8272330Z               "line": 129
2026-06-13T10:36:10.8272416Z             },
2026-06-13T10:36:10.8272496Z             {
2026-06-13T10:36:10.8272599Z               "path": "crates/spt-store/src/access.rs",
2026-06-13T10:36:10.8272685Z               "line": 142
2026-06-13T10:36:10.8272767Z             },
2026-06-13T10:36:10.8272852Z             {
2026-06-13T10:36:10.8272952Z               "path": "crates/spt-store/src/access.rs",
2026-06-13T10:36:10.8273039Z               "line": 208
2026-06-13T10:36:10.8273120Z             },
2026-06-13T10:36:10.8273200Z             {
2026-06-13T10:36:10.8273311Z               "path": "crates/spt-store/src/access.rs",
2026-06-13T10:36:10.8273392Z               "line": 234
2026-06-13T10:36:10.8273478Z             },
2026-06-13T10:36:10.8273558Z             {
2026-06-13T10:36:10.8273664Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8273748Z               "line": 4288
2026-06-13T10:36:10.8273834Z             }
2026-06-13T10:36:10.8273915Z           ]
2026-06-13T10:36:10.8274003Z         },
2026-06-13T10:36:10.8274082Z         "int": {
2026-06-13T10:36:10.8274173Z           "complete": false,
2026-06-13T10:36:10.8274255Z           "evidence": []
2026-06-13T10:36:10.8274341Z         },
2026-06-13T10:36:10.8274425Z         "unit": {
2026-06-13T10:36:10.8274507Z           "complete": true,
2026-06-13T10:36:10.8274589Z           "evidence": [
2026-06-13T10:36:10.8274675Z             {
2026-06-13T10:36:10.8274787Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-13T10:36:10.8274872Z               "line": 140
2026-06-13T10:36:10.8274959Z             },
2026-06-13T10:36:10.8275043Z             {
2026-06-13T10:36:10.8275157Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-13T10:36:10.8275247Z               "line": 192
2026-06-13T10:36:10.8275324Z             },
2026-06-13T10:36:10.8275419Z             {
2026-06-13T10:36:10.8275529Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-13T10:36:10.8275610Z               "line": 233
2026-06-13T10:36:10.8275706Z             },
2026-06-13T10:36:10.8275776Z             {
2026-06-13T10:36:10.8275902Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-13T10:36:10.8275987Z               "line": 138
2026-06-13T10:36:10.8276063Z             },
2026-06-13T10:36:10.8276143Z             {
2026-06-13T10:36:10.8276259Z               "path": "crates/spt-store/src/access.rs",
2026-06-13T10:36:10.8276430Z               "line": 246
2026-06-13T10:36:10.8276511Z             },
2026-06-13T10:36:10.8276602Z             {
2026-06-13T10:36:10.8276702Z               "path": "crates/spt-store/src/access.rs",
2026-06-13T10:36:10.8276782Z               "line": 276
2026-06-13T10:36:10.8276865Z             },
2026-06-13T10:36:10.8276949Z             {
2026-06-13T10:36:10.8277050Z               "path": "crates/spt-store/src/access.rs",
2026-06-13T10:36:10.8277137Z               "line": 309
2026-06-13T10:36:10.8277218Z             },
2026-06-13T10:36:10.8277297Z             {
2026-06-13T10:36:10.8277485Z               "path": "crates/spt-store/src/access.rs",
2026-06-13T10:36:10.8277565Z               "line": 328
2026-06-13T10:36:10.8277650Z             },
2026-06-13T10:36:10.8277730Z             {
2026-06-13T10:36:10.8277827Z               "path": "crates/spt-store/src/access.rs",
2026-06-13T10:36:10.8277908Z               "line": 361
2026-06-13T10:36:10.8277998Z             },
2026-06-13T10:36:10.8278093Z             {
2026-06-13T10:36:10.8278204Z               "path": "crates/spt-store/src/access.rs",
2026-06-13T10:36:10.8278284Z               "line": 385
2026-06-13T10:36:10.8278359Z             },
2026-06-13T10:36:10.8278447Z             {
2026-06-13T10:36:10.8278547Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8278632Z               "line": 6091
2026-06-13T10:36:10.8278713Z             }
2026-06-13T10:36:10.8278795Z           ]
2026-06-13T10:36:10.8278876Z         }
2026-06-13T10:36:10.8279032Z       }
2026-06-13T10:36:10.8279110Z     },
2026-06-13T10:36:10.8279190Z     {
2026-06-13T10:36:10.8279290Z       "id": "REQ-SHELL-1",
2026-06-13T10:36:10.8280156Z       "title": "Shell hosting machinery: shell perch under the owner (type/owner/adapter_name/status/alias), broker-launched binary + api bind local-link handshake, the three channels (command durable, text+file durable + progress-queryable, sensory REST-only never spooled + dropped-unless-owner-live), owner exclusivity (CONTEXT Shell model)",
2026-06-13T10:36:10.8280245Z       "requiredStages": [
2026-06-13T10:36:10.8280330Z         "impl",
2026-06-13T10:36:10.8280412Z         "unit",
2026-06-13T10:36:10.8280485Z         "int"
2026-06-13T10:36:10.8280569Z       ],
2026-06-13T10:36:10.8280655Z       "stages": {
2026-06-13T10:36:10.8280732Z         "doc": {
2026-06-13T10:36:10.8280827Z           "complete": false,
2026-06-13T10:36:10.8280907Z           "evidence": []
2026-06-13T10:36:10.8280989Z         },
2026-06-13T10:36:10.8281066Z         "impl": {
2026-06-13T10:36:10.8281156Z           "complete": true,
2026-06-13T10:36:10.8281246Z           "evidence": [
2026-06-13T10:36:10.8281333Z             {
2026-06-13T10:36:10.8281451Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-13T10:36:10.8281532Z               "line": 94
2026-06-13T10:36:10.8281608Z             },
2026-06-13T10:36:10.8281690Z             {
2026-06-13T10:36:10.8281814Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-13T10:36:10.8281904Z               "line": 121
2026-06-13T10:36:10.8281981Z             },
2026-06-13T10:36:10.8282057Z             {
2026-06-13T10:36:10.8282176Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-13T10:36:10.8282263Z               "line": 27
2026-06-13T10:36:10.8282339Z             },
2026-06-13T10:36:10.8282424Z             {
2026-06-13T10:36:10.8282539Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-13T10:36:10.8282625Z               "line": 52
2026-06-13T10:36:10.8282701Z             },
2026-06-13T10:36:10.8282780Z             {
2026-06-13T10:36:10.8282905Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-13T10:36:10.8282995Z               "line": 132
2026-06-13T10:36:10.8283074Z             },
2026-06-13T10:36:10.8283164Z             {
2026-06-13T10:36:10.8283279Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-13T10:36:10.8283366Z               "line": 164
2026-06-13T10:36:10.8283445Z             },
2026-06-13T10:36:10.8283633Z             {
2026-06-13T10:36:10.8283746Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T10:36:10.8283832Z               "line": 22
2026-06-13T10:36:10.8283909Z             },
2026-06-13T10:36:10.8283985Z             {
2026-06-13T10:36:10.8284098Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T10:36:10.8284180Z               "line": 65
2026-06-13T10:36:10.8284267Z             },
2026-06-13T10:36:10.8284337Z             {
2026-06-13T10:36:10.8284452Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T10:36:10.8284534Z               "line": 76
2026-06-13T10:36:10.8284709Z             },
2026-06-13T10:36:10.8284790Z             {
2026-06-13T10:36:10.8284906Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T10:36:10.8284995Z               "line": 150
2026-06-13T10:36:10.8285072Z             },
2026-06-13T10:36:10.8285159Z             {
2026-06-13T10:36:10.8285272Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T10:36:10.8285371Z               "line": 209
2026-06-13T10:36:10.8285457Z             },
2026-06-13T10:36:10.8285533Z             {
2026-06-13T10:36:10.8285655Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T10:36:10.8285740Z               "line": 246
2026-06-13T10:36:10.8285822Z             },
2026-06-13T10:36:10.8285904Z             {
2026-06-13T10:36:10.8286017Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T10:36:10.8286113Z               "line": 267
2026-06-13T10:36:10.8286189Z             },
2026-06-13T10:36:10.8286280Z             {
2026-06-13T10:36:10.8286393Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T10:36:10.8286486Z               "line": 280
2026-06-13T10:36:10.8286571Z             },
2026-06-13T10:36:10.8286656Z             {
2026-06-13T10:36:10.8286776Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.8286861Z               "line": 217
2026-06-13T10:36:10.8286956Z             },
2026-06-13T10:36:10.8287037Z             {
2026-06-13T10:36:10.8287153Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.8287243Z               "line": 233
2026-06-13T10:36:10.8287329Z             },
2026-06-13T10:36:10.8287411Z             {
2026-06-13T10:36:10.8287529Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T10:36:10.8287619Z               "line": 41
2026-06-13T10:36:10.8287706Z             },
2026-06-13T10:36:10.8287787Z             {
2026-06-13T10:36:10.8287905Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T10:36:10.8287992Z               "line": 222
2026-06-13T10:36:10.8288069Z             },
2026-06-13T10:36:10.8288158Z             {
2026-06-13T10:36:10.8288276Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T10:36:10.8288372Z               "line": 156
2026-06-13T10:36:10.8288473Z             },
2026-06-13T10:36:10.8288562Z             {
2026-06-13T10:36:10.8288672Z               "path": "crates/spt/src/api/mod.rs",
2026-06-13T10:36:10.8288773Z               "line": 311
2026-06-13T10:36:10.8288853Z             },
2026-06-13T10:36:10.8289026Z             {
2026-06-13T10:36:10.8289130Z               "path": "crates/spt/src/api/mod.rs",
2026-06-13T10:36:10.8289220Z               "line": 363
2026-06-13T10:36:10.8289302Z             },
2026-06-13T10:36:10.8289378Z             {
2026-06-13T10:36:10.8289497Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.8289582Z               "line": 261
2026-06-13T10:36:10.8289670Z             },
2026-06-13T10:36:10.8289759Z             {
2026-06-13T10:36:10.8289874Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8289975Z               "line": 4905
2026-06-13T10:36:10.8290051Z             },
2026-06-13T10:36:10.8290135Z             {
2026-06-13T10:36:10.8290236Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8290323Z               "line": 5055
2026-06-13T10:36:10.8290412Z             },
2026-06-13T10:36:10.8290612Z             {
2026-06-13T10:36:10.8290720Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8290805Z               "line": 5092
2026-06-13T10:36:10.8290890Z             }
2026-06-13T10:36:10.8290977Z           ]
2026-06-13T10:36:10.8291063Z         },
2026-06-13T10:36:10.8291148Z         "int": {
2026-06-13T10:36:10.8291239Z           "complete": true,
2026-06-13T10:36:10.8291326Z           "evidence": [
2026-06-13T10:36:10.8291406Z             {
2026-06-13T10:36:10.8291530Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T10:36:10.8291621Z               "line": 706
2026-06-13T10:36:10.8291801Z             },
2026-06-13T10:36:10.8291889Z             {
2026-06-13T10:36:10.8292011Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-13T10:36:10.8292102Z               "line": 8
2026-06-13T10:36:10.8292183Z             },
2026-06-13T10:36:10.8292270Z             {
2026-06-13T10:36:10.8292393Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-13T10:36:10.8292488Z               "line": 49
2026-06-13T10:36:10.8292570Z             },
2026-06-13T10:36:10.8292655Z             {
2026-06-13T10:36:10.8292769Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.8292857Z               "line": 708
2026-06-13T10:36:10.8292946Z             },
2026-06-13T10:36:10.8293022Z             {
2026-06-13T10:36:10.8293152Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.8293238Z               "line": 1118
2026-06-13T10:36:10.8293327Z             },
2026-06-13T10:36:10.8293407Z             {
2026-06-13T10:36:10.8293531Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-13T10:36:10.8293620Z               "line": 17
2026-06-13T10:36:10.8293715Z             },
2026-06-13T10:36:10.8293792Z             {
2026-06-13T10:36:10.8293901Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-13T10:36:10.8293991Z               "line": 14
2026-06-13T10:36:10.8294082Z             }
2026-06-13T10:36:10.8294159Z           ]
2026-06-13T10:36:10.8294250Z         },
2026-06-13T10:36:10.8294330Z         "unit": {
2026-06-13T10:36:10.8294421Z           "complete": true,
2026-06-13T10:36:10.8294512Z           "evidence": [
2026-06-13T10:36:10.8294593Z             {
2026-06-13T10:36:10.8294712Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-13T10:36:10.8294793Z               "line": 234
2026-06-13T10:36:10.8294883Z             },
2026-06-13T10:36:10.8294964Z             {
2026-06-13T10:36:10.8295080Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-13T10:36:10.8295175Z               "line": 267
2026-06-13T10:36:10.8295255Z             },
2026-06-13T10:36:10.8295346Z             {
2026-06-13T10:36:10.8295457Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-13T10:36:10.8295550Z               "line": 307
2026-06-13T10:36:10.8295627Z             },
2026-06-13T10:36:10.8295695Z             {
2026-06-13T10:36:10.8295819Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T10:36:10.8295907Z               "line": 568
2026-06-13T10:36:10.8295992Z             },
2026-06-13T10:36:10.8296069Z             {
2026-06-13T10:36:10.8296187Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T10:36:10.8296277Z               "line": 641
2026-06-13T10:36:10.8296358Z             },
2026-06-13T10:36:10.8296435Z             {
2026-06-13T10:36:10.8296539Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T10:36:10.8296629Z               "line": 785
2026-06-13T10:36:10.8296702Z             },
2026-06-13T10:36:10.8296792Z             {
2026-06-13T10:36:10.8296906Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.8296983Z               "line": 595
2026-06-13T10:36:10.8297069Z             },
2026-06-13T10:36:10.8297146Z             {
2026-06-13T10:36:10.8297259Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T10:36:10.8297351Z               "line": 399
2026-06-13T10:36:10.8297498Z             },
2026-06-13T10:36:10.8297588Z             {
2026-06-13T10:36:10.8297680Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8297774Z               "line": 6560
2026-06-13T10:36:10.8297845Z             },
2026-06-13T10:36:10.8300457Z             {
2026-06-13T10:36:10.8300592Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8300686Z               "line": 6882
2026-06-13T10:36:10.8300772Z             },
2026-06-13T10:36:10.8300855Z             {
2026-06-13T10:36:10.8300967Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8301215Z               "line": 7299
2026-06-13T10:36:10.8301299Z             }
2026-06-13T10:36:10.8301379Z           ]
2026-06-13T10:36:10.8301470Z         }
2026-06-13T10:36:10.8301542Z       }
2026-06-13T10:36:10.8301623Z     },
2026-06-13T10:36:10.8301703Z     {
2026-06-13T10:36:10.8301789Z       "id": "REQ-SHELL-2",
2026-06-13T10:36:10.8303287Z       "title": "Shell sleep/wake: link-break always closes the binary (pre-close instruction + termination timeout), ephemeral teardown vs persistent offline/relink, wake_command wake-watcher (offline-only, exit-opcode supervision, exponential backoff + give-up), state-keyed wake resolution (dormant/suspended/active-elsewhere; no-reachable refuses — spawn-anywhere branch deferred), spt shutdown owner cascade + api owner-shutdown gated by can_shutdown (CONTEXT Shell sleep/wake)",
2026-06-13T10:36:10.8303403Z       "requiredStages": [
2026-06-13T10:36:10.8303483Z         "impl",
2026-06-13T10:36:10.8303563Z         "unit",
2026-06-13T10:36:10.8303644Z         "int"
2026-06-13T10:36:10.8303732Z       ],
2026-06-13T10:36:10.8303812Z       "stages": {
2026-06-13T10:36:10.8303892Z         "doc": {
2026-06-13T10:36:10.8303986Z           "complete": false,
2026-06-13T10:36:10.8304072Z           "evidence": []
2026-06-13T10:36:10.8304152Z         },
2026-06-13T10:36:10.8304237Z         "impl": {
2026-06-13T10:36:10.8304332Z           "complete": true,
2026-06-13T10:36:10.8304419Z           "evidence": [
2026-06-13T10:36:10.8304505Z             {
2026-06-13T10:36:10.8304628Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.8304715Z               "line": 214
2026-06-13T10:36:10.8304800Z             },
2026-06-13T10:36:10.8304885Z             {
2026-06-13T10:36:10.8305010Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T10:36:10.8305101Z               "line": 403
2026-06-13T10:36:10.8305177Z             },
2026-06-13T10:36:10.8305262Z             {
2026-06-13T10:36:10.8305382Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T10:36:10.8305482Z               "line": 250
2026-06-13T10:36:10.8305567Z             },
2026-06-13T10:36:10.8305654Z             {
2026-06-13T10:36:10.8305772Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.8305858Z               "line": 353
2026-06-13T10:36:10.8305945Z             },
2026-06-13T10:36:10.8306021Z             {
2026-06-13T10:36:10.8306154Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-13T10:36:10.8306240Z               "line": 30
2026-06-13T10:36:10.8306327Z             },
2026-06-13T10:36:10.8306411Z             {
2026-06-13T10:36:10.8306525Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-13T10:36:10.8306615Z               "line": 152
2026-06-13T10:36:10.8306696Z             },
2026-06-13T10:36:10.8306780Z             {
2026-06-13T10:36:10.8306894Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-13T10:36:10.8306986Z               "line": 188
2026-06-13T10:36:10.8307067Z             },
2026-06-13T10:36:10.8307156Z             {
2026-06-13T10:36:10.8307272Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-13T10:36:10.8307357Z               "line": 347
2026-06-13T10:36:10.8307442Z             },
2026-06-13T10:36:10.8307523Z             {
2026-06-13T10:36:10.8307643Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.8307734Z               "line": 348
2026-06-13T10:36:10.8307925Z             },
2026-06-13T10:36:10.8308005Z             {
2026-06-13T10:36:10.8308124Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-13T10:36:10.8308216Z               "line": 115
2026-06-13T10:36:10.8308296Z             },
2026-06-13T10:36:10.8308378Z             {
2026-06-13T10:36:10.8308497Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T10:36:10.8308584Z               "line": 120
2026-06-13T10:36:10.8308667Z             },
2026-06-13T10:36:10.8308749Z             {
2026-06-13T10:36:10.8308870Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T10:36:10.8309112Z               "line": 360
2026-06-13T10:36:10.8309199Z             },
2026-06-13T10:36:10.8309278Z             {
2026-06-13T10:36:10.8309392Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T10:36:10.8309487Z               "line": 469
2026-06-13T10:36:10.8309574Z             },
2026-06-13T10:36:10.8309659Z             {
2026-06-13T10:36:10.8309788Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T10:36:10.8309874Z               "line": 24
2026-06-13T10:36:10.8309964Z             },
2026-06-13T10:36:10.8310040Z             {
2026-06-13T10:36:10.8310161Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T10:36:10.8310246Z               "line": 76
2026-06-13T10:36:10.8310336Z             },
2026-06-13T10:36:10.8310417Z             {
2026-06-13T10:36:10.8310532Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T10:36:10.8310617Z               "line": 154
2026-06-13T10:36:10.8310712Z             },
2026-06-13T10:36:10.8310795Z             {
2026-06-13T10:36:10.8310908Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T10:36:10.8311008Z               "line": 177
2026-06-13T10:36:10.8311091Z             },
2026-06-13T10:36:10.8311171Z             {
2026-06-13T10:36:10.8311294Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T10:36:10.8311386Z               "line": 273
2026-06-13T10:36:10.8311471Z             },
2026-06-13T10:36:10.8311551Z             {
2026-06-13T10:36:10.8311674Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T10:36:10.8311761Z               "line": 455
2026-06-13T10:36:10.8311850Z             },
2026-06-13T10:36:10.8311930Z             {
2026-06-13T10:36:10.8312044Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T10:36:10.8312136Z               "line": 537
2026-06-13T10:36:10.8312211Z             },
2026-06-13T10:36:10.8312296Z             {
2026-06-13T10:36:10.8312417Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-13T10:36:10.8312516Z               "line": 27
2026-06-13T10:36:10.8312606Z             },
2026-06-13T10:36:10.8312684Z             {
2026-06-13T10:36:10.8312803Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-13T10:36:10.8312888Z               "line": 43
2026-06-13T10:36:10.8312974Z             },
2026-06-13T10:36:10.8313070Z             {
2026-06-13T10:36:10.8313184Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.8313275Z               "line": 325
2026-06-13T10:36:10.8313357Z             },
2026-06-13T10:36:10.8313442Z             {
2026-06-13T10:36:10.8313542Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8313633Z               "line": 1398
2026-06-13T10:36:10.8313714Z             },
2026-06-13T10:36:10.8313794Z             {
2026-06-13T10:36:10.8313899Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8313987Z               "line": 4919
2026-06-13T10:36:10.8314076Z             },
2026-06-13T10:36:10.8314167Z             {
2026-06-13T10:36:10.8314262Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8314353Z               "line": 4980
2026-06-13T10:36:10.8314433Z             },
2026-06-13T10:36:10.8314513Z             {
2026-06-13T10:36:10.8314614Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8314806Z               "line": 5008
2026-06-13T10:36:10.8314892Z             },
2026-06-13T10:36:10.8314974Z             {
2026-06-13T10:36:10.8315074Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8315159Z               "line": 5062
2026-06-13T10:36:10.8315241Z             },
2026-06-13T10:36:10.8315318Z             {
2026-06-13T10:36:10.8315422Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8315517Z               "line": 5178
2026-06-13T10:36:10.8315599Z             },
2026-06-13T10:36:10.8315679Z             {
2026-06-13T10:36:10.8315779Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8315966Z               "line": 5231
2026-06-13T10:36:10.8316052Z             },
2026-06-13T10:36:10.8316137Z             {
2026-06-13T10:36:10.8316252Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T10:36:10.8316332Z               "line": 298
2026-06-13T10:36:10.8316409Z             },
2026-06-13T10:36:10.8316490Z             {
2026-06-13T10:36:10.8316596Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T10:36:10.8316680Z               "line": 339
2026-06-13T10:36:10.8316761Z             }
2026-06-13T10:36:10.8316839Z           ]
2026-06-13T10:36:10.8316920Z         },
2026-06-13T10:36:10.8316999Z         "int": {
2026-06-13T10:36:10.8317099Z           "complete": true,
2026-06-13T10:36:10.8317185Z           "evidence": [
2026-06-13T10:36:10.8317265Z             {
2026-06-13T10:36:10.8317382Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T10:36:10.8317464Z               "line": 699
2026-06-13T10:36:10.8317541Z             },
2026-06-13T10:36:10.8317627Z             {
2026-06-13T10:36:10.8317745Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.8317837Z               "line": 708
2026-06-13T10:36:10.8317917Z             },
2026-06-13T10:36:10.8317993Z             {
2026-06-13T10:36:10.8318113Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.8318189Z               "line": 1118
2026-06-13T10:36:10.8318275Z             },
2026-06-13T10:36:10.8318350Z             {
2026-06-13T10:36:10.8318490Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-13T10:36:10.8318575Z               "line": 18
2026-06-13T10:36:10.8318646Z             }
2026-06-13T10:36:10.8318718Z           ]
2026-06-13T10:36:10.8318795Z         },
2026-06-13T10:36:10.8318885Z         "unit": {
2026-06-13T10:36:10.8319037Z           "complete": true,
2026-06-13T10:36:10.8319129Z           "evidence": [
2026-06-13T10:36:10.8319200Z             {
2026-06-13T10:36:10.8319319Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-13T10:36:10.8319415Z               "line": 431
2026-06-13T10:36:10.8319491Z             },
2026-06-13T10:36:10.8319576Z             {
2026-06-13T10:36:10.8319687Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T10:36:10.8319768Z               "line": 796
2026-06-13T10:36:10.8319843Z             },
2026-06-13T10:36:10.8319928Z             {
2026-06-13T10:36:10.8320052Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T10:36:10.8320139Z               "line": 674
2026-06-13T10:36:10.8320219Z             },
2026-06-13T10:36:10.8320300Z             {
2026-06-13T10:36:10.8320420Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T10:36:10.8320506Z               "line": 723
2026-06-13T10:36:10.8320586Z             },
2026-06-13T10:36:10.8320672Z             {
2026-06-13T10:36:10.8320782Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T10:36:10.8320862Z               "line": 747
2026-06-13T10:36:10.8320943Z             },
2026-06-13T10:36:10.8321026Z             {
2026-06-13T10:36:10.8321134Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T10:36:10.8321220Z               "line": 602
2026-06-13T10:36:10.8321302Z             },
2026-06-13T10:36:10.8321383Z             {
2026-06-13T10:36:10.8321492Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T10:36:10.8321679Z               "line": 623
2026-06-13T10:36:10.8321764Z             },
2026-06-13T10:36:10.8321845Z             {
2026-06-13T10:36:10.8321960Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T10:36:10.8322041Z               "line": 659
2026-06-13T10:36:10.8322126Z             },
2026-06-13T10:36:10.8322206Z             {
2026-06-13T10:36:10.8322311Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T10:36:10.8322391Z               "line": 713
2026-06-13T10:36:10.8322476Z             },
2026-06-13T10:36:10.8322556Z             {
2026-06-13T10:36:10.8322762Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T10:36:10.8322838Z               "line": 731
2026-06-13T10:36:10.8322919Z             },
2026-06-13T10:36:10.8322991Z             {
2026-06-13T10:36:10.8323110Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T10:36:10.8323195Z               "line": 765
2026-06-13T10:36:10.8323278Z             },
2026-06-13T10:36:10.8323373Z             {
2026-06-13T10:36:10.8323472Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T10:36:10.8323559Z               "line": 840
2026-06-13T10:36:10.8323639Z             },
2026-06-13T10:36:10.8323720Z             {
2026-06-13T10:36:10.8323844Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-13T10:36:10.8323926Z               "line": 80
2026-06-13T10:36:10.8324006Z             },
2026-06-13T10:36:10.8324083Z             {
2026-06-13T10:36:10.8324183Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8324269Z               "line": 5891
2026-06-13T10:36:10.8324359Z             },
2026-06-13T10:36:10.8324445Z             {
2026-06-13T10:36:10.8324551Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8324645Z               "line": 6637
2026-06-13T10:36:10.8324722Z             },
2026-06-13T10:36:10.8324813Z             {
2026-06-13T10:36:10.8324909Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8325007Z               "line": 6707
2026-06-13T10:36:10.8325092Z             },
2026-06-13T10:36:10.8325174Z             {
2026-06-13T10:36:10.8325282Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8325367Z               "line": 6745
2026-06-13T10:36:10.8325448Z             }
2026-06-13T10:36:10.8325524Z           ]
2026-06-13T10:36:10.8325611Z         }
2026-06-13T10:36:10.8325691Z       }
2026-06-13T10:36:10.8325772Z     },
2026-06-13T10:36:10.8325854Z     {
2026-06-13T10:36:10.8325944Z       "id": "REQ-START-1",
2026-06-13T10:36:10.8326136Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-13T10:36:10.8326240Z       "requiredStages": [
2026-06-13T10:36:10.8326325Z         "impl",
2026-06-13T10:36:10.8326411Z         "unit"
2026-06-13T10:36:10.8326488Z       ],
2026-06-13T10:36:10.8326573Z       "stages": {
2026-06-13T10:36:10.8326659Z         "doc": {
2026-06-13T10:36:10.8326755Z           "complete": false,
2026-06-13T10:36:10.8326850Z           "evidence": []
2026-06-13T10:36:10.8326930Z         },
2026-06-13T10:36:10.8327016Z         "impl": {
2026-06-13T10:36:10.8327104Z           "complete": true,
2026-06-13T10:36:10.8327193Z           "evidence": [
2026-06-13T10:36:10.8327274Z             {
2026-06-13T10:36:10.8327390Z               "path": "crates/spt-store/src/seed.rs",
2026-06-13T10:36:10.8327475Z               "line": 16
2026-06-13T10:36:10.8327560Z             }
2026-06-13T10:36:10.8327640Z           ]
2026-06-13T10:36:10.8327716Z         },
2026-06-13T10:36:10.8327802Z         "int": {
2026-06-13T10:36:10.8327891Z           "complete": false,
2026-06-13T10:36:10.8327986Z           "evidence": []
2026-06-13T10:36:10.8328062Z         },
2026-06-13T10:36:10.8328149Z         "unit": {
2026-06-13T10:36:10.8328238Z           "complete": true,
2026-06-13T10:36:10.8328324Z           "evidence": [
2026-06-13T10:36:10.8328411Z             {
2026-06-13T10:36:10.8328521Z               "path": "crates/spt-store/src/seed.rs",
2026-06-13T10:36:10.8328697Z               "line": 43
2026-06-13T10:36:10.8328783Z             },
2026-06-13T10:36:10.8328864Z             {
2026-06-13T10:36:10.8329064Z               "path": "crates/spt-store/src/seed.rs",
2026-06-13T10:36:10.8329154Z               "line": 59
2026-06-13T10:36:10.8329235Z             }
2026-06-13T10:36:10.8329312Z           ]
2026-06-13T10:36:10.8329398Z         }
2026-06-13T10:36:10.8329479Z       }
2026-06-13T10:36:10.8329559Z     },
2026-06-13T10:36:10.8329642Z     {
2026-06-13T10:36:10.8329732Z       "id": "REQ-START-2",
2026-06-13T10:36:10.8329874Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-13T10:36:10.8330065Z       "requiredStages": [
2026-06-13T10:36:10.8330151Z         "impl",
2026-06-13T10:36:10.8330232Z         "unit",
2026-06-13T10:36:10.8330324Z         "int"
2026-06-13T10:36:10.8330408Z       ],
2026-06-13T10:36:10.8330488Z       "stages": {
2026-06-13T10:36:10.8330579Z         "doc": {
2026-06-13T10:36:10.8330670Z           "complete": false,
2026-06-13T10:36:10.8330765Z           "evidence": []
2026-06-13T10:36:10.8330850Z         },
2026-06-13T10:36:10.8330936Z         "impl": {
2026-06-13T10:36:10.8331027Z           "complete": true,
2026-06-13T10:36:10.8331112Z           "evidence": [
2026-06-13T10:36:10.8331193Z             {
2026-06-13T10:36:10.8331309Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.8331395Z               "line": 16
2026-06-13T10:36:10.8331475Z             },
2026-06-13T10:36:10.8331562Z             {
2026-06-13T10:36:10.8331676Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.8331765Z               "line": 100
2026-06-13T10:36:10.8331847Z             },
2026-06-13T10:36:10.8331930Z             {
2026-06-13T10:36:10.8332043Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.8332128Z               "line": 224
2026-06-13T10:36:10.8332215Z             }
2026-06-13T10:36:10.8332300Z           ]
2026-06-13T10:36:10.8332381Z         },
2026-06-13T10:36:10.8332467Z         "int": {
2026-06-13T10:36:10.8332554Z           "complete": true,
2026-06-13T10:36:10.8332643Z           "evidence": [
2026-06-13T10:36:10.8332733Z             {
2026-06-13T10:36:10.8332857Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-13T10:36:10.8332946Z               "line": 186
2026-06-13T10:36:10.8333031Z             }
2026-06-13T10:36:10.8333102Z           ]
2026-06-13T10:36:10.8333184Z         },
2026-06-13T10:36:10.8333271Z         "unit": {
2026-06-13T10:36:10.8333355Z           "complete": true,
2026-06-13T10:36:10.8333441Z           "evidence": [
2026-06-13T10:36:10.8333537Z             {
2026-06-13T10:36:10.8333646Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.8333736Z               "line": 438
2026-06-13T10:36:10.8333814Z             },
2026-06-13T10:36:10.8333899Z             {
2026-06-13T10:36:10.8334003Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.8334090Z               "line": 471
2026-06-13T10:36:10.8334172Z             }
2026-06-13T10:36:10.8334257Z           ]
2026-06-13T10:36:10.8334366Z         }
2026-06-13T10:36:10.8334448Z       }
2026-06-13T10:36:10.8334524Z     },
2026-06-13T10:36:10.8334605Z     {
2026-06-13T10:36:10.8334704Z       "id": "REQ-START-3",
2026-06-13T10:36:10.8334919Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-13T10:36:10.8335010Z       "requiredStages": [
2026-06-13T10:36:10.8335097Z         "impl",
2026-06-13T10:36:10.8335177Z         "unit",
2026-06-13T10:36:10.8335262Z         "int"
2026-06-13T10:36:10.8335344Z       ],
2026-06-13T10:36:10.8335426Z       "stages": {
2026-06-13T10:36:10.8335515Z         "doc": {
2026-06-13T10:36:10.8335591Z           "complete": false,
2026-06-13T10:36:10.8335686Z           "evidence": []
2026-06-13T10:36:10.8335767Z         },
2026-06-13T10:36:10.8335874Z         "impl": {
2026-06-13T10:36:10.8335974Z           "complete": true,
2026-06-13T10:36:10.8336066Z           "evidence": [
2026-06-13T10:36:10.8336251Z             {
2026-06-13T10:36:10.8336366Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-13T10:36:10.8336461Z               "line": 23
2026-06-13T10:36:10.8336537Z             },
2026-06-13T10:36:10.8336613Z             {
2026-06-13T10:36:10.8336728Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-13T10:36:10.8336814Z               "line": 205
2026-06-13T10:36:10.8336890Z             },
2026-06-13T10:36:10.8336967Z             {
2026-06-13T10:36:10.8337081Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-13T10:36:10.8337162Z               "line": 221
2026-06-13T10:36:10.8337320Z             },
2026-06-13T10:36:10.8337401Z             {
2026-06-13T10:36:10.8337524Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.8337615Z               "line": 17
2026-06-13T10:36:10.8337692Z             },
2026-06-13T10:36:10.8337767Z             {
2026-06-13T10:36:10.8337882Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.8337979Z               "line": 43
2026-06-13T10:36:10.8338059Z             },
2026-06-13T10:36:10.8338139Z             {
2026-06-13T10:36:10.8338252Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.8338343Z               "line": 101
2026-06-13T10:36:10.8338423Z             }
2026-06-13T10:36:10.8338493Z           ]
2026-06-13T10:36:10.8338574Z         },
2026-06-13T10:36:10.8338646Z         "int": {
2026-06-13T10:36:10.8338742Z           "complete": true,
2026-06-13T10:36:10.8338831Z           "evidence": [
2026-06-13T10:36:10.8338913Z             {
2026-06-13T10:36:10.8339109Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-13T10:36:10.8339199Z               "line": 440
2026-06-13T10:36:10.8339271Z             }
2026-06-13T10:36:10.8339357Z           ]
2026-06-13T10:36:10.8339433Z         },
2026-06-13T10:36:10.8339548Z         "unit": {
2026-06-13T10:36:10.8339634Z           "complete": true,
2026-06-13T10:36:10.8339724Z           "evidence": [
2026-06-13T10:36:10.8339795Z             {
2026-06-13T10:36:10.8339920Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-13T10:36:10.8340005Z               "line": 331
2026-06-13T10:36:10.8340086Z             },
2026-06-13T10:36:10.8340167Z             {
2026-06-13T10:36:10.8340287Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-13T10:36:10.8340382Z               "line": 352
2026-06-13T10:36:10.8340463Z             },
2026-06-13T10:36:10.8340545Z             {
2026-06-13T10:36:10.8340649Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-13T10:36:10.8340735Z               "line": 362
2026-06-13T10:36:10.8340827Z             },
2026-06-13T10:36:10.8340912Z             {
2026-06-13T10:36:10.8341020Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.8341105Z               "line": 439
2026-06-13T10:36:10.8341187Z             },
2026-06-13T10:36:10.8341269Z             {
2026-06-13T10:36:10.8341382Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.8341468Z               "line": 472
2026-06-13T10:36:10.8341550Z             },
2026-06-13T10:36:10.8341636Z             {
2026-06-13T10:36:10.8341744Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T10:36:10.8341836Z               "line": 480
2026-06-13T10:36:10.8341916Z             }
2026-06-13T10:36:10.8342001Z           ]
2026-06-13T10:36:10.8342083Z         }
2026-06-13T10:36:10.8342165Z       }
2026-06-13T10:36:10.8342245Z     },
2026-06-13T10:36:10.8342330Z     {
2026-06-13T10:36:10.8342427Z       "id": "REQ-START-4",
2026-06-13T10:36:10.8342569Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-13T10:36:10.8342669Z       "requiredStages": [
2026-06-13T10:36:10.8342756Z         "impl",
2026-06-13T10:36:10.8342842Z         "unit"
2026-06-13T10:36:10.8342922Z       ],
2026-06-13T10:36:10.8343003Z       "stages": {
2026-06-13T10:36:10.8343085Z         "doc": {
2026-06-13T10:36:10.8343185Z           "complete": false,
2026-06-13T10:36:10.8343364Z           "evidence": []
2026-06-13T10:36:10.8343446Z         },
2026-06-13T10:36:10.8343535Z         "impl": {
2026-06-13T10:36:10.8343625Z           "complete": true,
2026-06-13T10:36:10.8343715Z           "evidence": [
2026-06-13T10:36:10.8343792Z             {
2026-06-13T10:36:10.8343911Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.8343991Z               "line": 393
2026-06-13T10:36:10.8344078Z             }
2026-06-13T10:36:10.8344149Z           ]
2026-06-13T10:36:10.8344230Z         },
2026-06-13T10:36:10.8344301Z         "int": {
2026-06-13T10:36:10.8344384Z           "complete": false,
2026-06-13T10:36:10.8344578Z           "evidence": []
2026-06-13T10:36:10.8344660Z         },
2026-06-13T10:36:10.8344746Z         "unit": {
2026-06-13T10:36:10.8344836Z           "complete": true,
2026-06-13T10:36:10.8344926Z           "evidence": [
2026-06-13T10:36:10.8345008Z             {
2026-06-13T10:36:10.8345126Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T10:36:10.8345227Z               "line": 777
2026-06-13T10:36:10.8345309Z             }
2026-06-13T10:36:10.8345394Z           ]
2026-06-13T10:36:10.8345474Z         }
2026-06-13T10:36:10.8345560Z       }
2026-06-13T10:36:10.8345643Z     },
2026-06-13T10:36:10.8345723Z     {
2026-06-13T10:36:10.8345818Z       "id": "REQ-STORE-1",
2026-06-13T10:36:10.8346649Z       "title": "spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)",
2026-06-13T10:36:10.8346754Z       "requiredStages": [
2026-06-13T10:36:10.8346839Z         "impl",
2026-06-13T10:36:10.8346926Z         "unit"
2026-06-13T10:36:10.8347012Z       ],
2026-06-13T10:36:10.8347097Z       "stages": {
2026-06-13T10:36:10.8347187Z         "doc": {
2026-06-13T10:36:10.8347275Z           "complete": false,
2026-06-13T10:36:10.8347374Z           "evidence": []
2026-06-13T10:36:10.8347455Z         },
2026-06-13T10:36:10.8347546Z         "impl": {
2026-06-13T10:36:10.8347637Z           "complete": true,
2026-06-13T10:36:10.8347722Z           "evidence": [
2026-06-13T10:36:10.8347812Z             {
2026-06-13T10:36:10.8347937Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T10:36:10.8348036Z               "line": 23
2026-06-13T10:36:10.8348118Z             },
2026-06-13T10:36:10.8348200Z             {
2026-06-13T10:36:10.8348327Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T10:36:10.8348423Z               "line": 46
2026-06-13T10:36:10.8348510Z             },
2026-06-13T10:36:10.8348595Z             {
2026-06-13T10:36:10.8348722Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T10:36:10.8348812Z               "line": 97
2026-06-13T10:36:10.8348898Z             },
2026-06-13T10:36:10.8349063Z             {
2026-06-13T10:36:10.8349188Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T10:36:10.8349288Z               "line": 125
2026-06-13T10:36:10.8349368Z             },
2026-06-13T10:36:10.8349454Z             {
2026-06-13T10:36:10.8349574Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T10:36:10.8349664Z               "line": 181
2026-06-13T10:36:10.8349754Z             },
2026-06-13T10:36:10.8349836Z             {
2026-06-13T10:36:10.8349960Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T10:36:10.8350049Z               "line": 205
2026-06-13T10:36:10.8350137Z             },
2026-06-13T10:36:10.8350227Z             {
2026-06-13T10:36:10.8350341Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T10:36:10.8350437Z               "line": 441
2026-06-13T10:36:10.8350523Z             },
2026-06-13T10:36:10.8350613Z             {
2026-06-13T10:36:10.8350742Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.8350952Z               "line": 25
2026-06-13T10:36:10.8351038Z             },
2026-06-13T10:36:10.8351124Z             {
2026-06-13T10:36:10.8351246Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.8351333Z               "line": 120
2026-06-13T10:36:10.8351406Z             },
2026-06-13T10:36:10.8351491Z             {
2026-06-13T10:36:10.8351613Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.8351708Z               "line": 148
2026-06-13T10:36:10.8351791Z             },
2026-06-13T10:36:10.8351876Z             {
2026-06-13T10:36:10.8351994Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.8352186Z               "line": 165
2026-06-13T10:36:10.8352271Z             },
2026-06-13T10:36:10.8352358Z             {
2026-06-13T10:36:10.8352476Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.8352566Z               "line": 180
2026-06-13T10:36:10.8352653Z             },
2026-06-13T10:36:10.8352744Z             {
2026-06-13T10:36:10.8352863Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.8352953Z               "line": 198
2026-06-13T10:36:10.8353035Z             },
2026-06-13T10:36:10.8353125Z             {
2026-06-13T10:36:10.8353244Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.8353335Z               "line": 207
2026-06-13T10:36:10.8353412Z             },
2026-06-13T10:36:10.8353501Z             {
2026-06-13T10:36:10.8353621Z               "path": "crates/spt-store/src/project.rs",
2026-06-13T10:36:10.8353717Z               "line": 16
2026-06-13T10:36:10.8353811Z             },
2026-06-13T10:36:10.8353891Z             {
2026-06-13T10:36:10.8354006Z               "path": "crates/spt-store/src/project.rs",
2026-06-13T10:36:10.8354095Z               "line": 63
2026-06-13T10:36:10.8354180Z             }
2026-06-13T10:36:10.8354266Z           ]
2026-06-13T10:36:10.8354347Z         },
2026-06-13T10:36:10.8354433Z         "int": {
2026-06-13T10:36:10.8354533Z           "complete": false,
2026-06-13T10:36:10.8354623Z           "evidence": []
2026-06-13T10:36:10.8354705Z         },
2026-06-13T10:36:10.8354794Z         "unit": {
2026-06-13T10:36:10.8354885Z           "complete": true,
2026-06-13T10:36:10.8354968Z           "evidence": [
2026-06-13T10:36:10.8355053Z             {
2026-06-13T10:36:10.8355176Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T10:36:10.8355263Z               "line": 558
2026-06-13T10:36:10.8355348Z             },
2026-06-13T10:36:10.8355434Z             {
2026-06-13T10:36:10.8355559Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T10:36:10.8355653Z               "line": 568
2026-06-13T10:36:10.8355744Z             },
2026-06-13T10:36:10.8355825Z             {
2026-06-13T10:36:10.8355936Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T10:36:10.8356020Z               "line": 590
2026-06-13T10:36:10.8356101Z             },
2026-06-13T10:36:10.8356184Z             {
2026-06-13T10:36:10.8356297Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T10:36:10.8356397Z               "line": 606
2026-06-13T10:36:10.8356474Z             },
2026-06-13T10:36:10.8356551Z             {
2026-06-13T10:36:10.8356663Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T10:36:10.8356753Z               "line": 629
2026-06-13T10:36:10.8356839Z             },
2026-06-13T10:36:10.8356920Z             {
2026-06-13T10:36:10.8357047Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.8357123Z               "line": 472
2026-06-13T10:36:10.8357214Z             },
2026-06-13T10:36:10.8357282Z             {
2026-06-13T10:36:10.8357404Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T10:36:10.8357496Z               "line": 507
2026-06-13T10:36:10.8357572Z             },
2026-06-13T10:36:10.8357666Z             {
2026-06-13T10:36:10.8357782Z               "path": "crates/spt-store/src/project.rs",
2026-06-13T10:36:10.8357967Z               "line": 120
2026-06-13T10:36:10.8358043Z             },
2026-06-13T10:36:10.8358130Z             {
2026-06-13T10:36:10.8358249Z               "path": "crates/spt-store/src/project.rs",
2026-06-13T10:36:10.8358339Z               "line": 128
2026-06-13T10:36:10.8358421Z             }
2026-06-13T10:36:10.8358497Z           ]
2026-06-13T10:36:10.8358582Z         }
2026-06-13T10:36:10.8358659Z       }
2026-06-13T10:36:10.8358736Z     },
2026-06-13T10:36:10.8358822Z     {
2026-06-13T10:36:10.8358911Z       "id": "REQ-SUBNET-1",
2026-06-13T10:36:10.8359325Z       "title": "spt subnet noun namespace: status view (bare + status [NAME] [--nodes]), create (QR/otpauth), show-code; spt pair deleted",
2026-06-13T10:36:10.8359529Z       "requiredStages": [
2026-06-13T10:36:10.8359618Z         "impl",
2026-06-13T10:36:10.8359699Z         "unit"
2026-06-13T10:36:10.8359781Z       ],
2026-06-13T10:36:10.8359872Z       "stages": {
2026-06-13T10:36:10.8359947Z         "doc": {
2026-06-13T10:36:10.8360048Z           "complete": false,
2026-06-13T10:36:10.8360134Z           "evidence": []
2026-06-13T10:36:10.8360215Z         },
2026-06-13T10:36:10.8360300Z         "impl": {
2026-06-13T10:36:10.8360401Z           "complete": true,
2026-06-13T10:36:10.8360491Z           "evidence": [
2026-06-13T10:36:10.8360567Z             {
2026-06-13T10:36:10.8360693Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.8360778Z               "line": 265
2026-06-13T10:36:10.8360863Z             },
2026-06-13T10:36:10.8360949Z             {
2026-06-13T10:36:10.8361078Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.8361178Z               "line": 571
2026-06-13T10:36:10.8361259Z             },
2026-06-13T10:36:10.8361346Z             {
2026-06-13T10:36:10.8361445Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8361540Z               "line": 2674
2026-06-13T10:36:10.8361632Z             },
2026-06-13T10:36:10.8361708Z             {
2026-06-13T10:36:10.8361811Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8361898Z               "line": 2839
2026-06-13T10:36:10.8361976Z             },
2026-06-13T10:36:10.8362056Z             {
2026-06-13T10:36:10.8362159Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8362249Z               "line": 2858
2026-06-13T10:36:10.8362331Z             },
2026-06-13T10:36:10.8362417Z             {
2026-06-13T10:36:10.8362521Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8362603Z               "line": 2919
2026-06-13T10:36:10.8362675Z             },
2026-06-13T10:36:10.8362765Z             {
2026-06-13T10:36:10.8362869Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8362956Z               "line": 2961
2026-06-13T10:36:10.8363041Z             },
2026-06-13T10:36:10.8363127Z             {
2026-06-13T10:36:10.8363227Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8363313Z               "line": 3150
2026-06-13T10:36:10.8363409Z             },
2026-06-13T10:36:10.8363489Z             {
2026-06-13T10:36:10.8363590Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8363671Z               "line": 3220
2026-06-13T10:36:10.8363757Z             },
2026-06-13T10:36:10.8363838Z             {
2026-06-13T10:36:10.8363943Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8364028Z               "line": 3444
2026-06-13T10:36:10.8366589Z             },
2026-06-13T10:36:10.8366695Z             {
2026-06-13T10:36:10.8366820Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T10:36:10.8366918Z               "line": 418
2026-06-13T10:36:10.8367010Z             }
2026-06-13T10:36:10.8367087Z           ]
2026-06-13T10:36:10.8367168Z         },
2026-06-13T10:36:10.8367252Z         "int": {
2026-06-13T10:36:10.8367346Z           "complete": false,
2026-06-13T10:36:10.8367433Z           "evidence": []
2026-06-13T10:36:10.8367518Z         },
2026-06-13T10:36:10.8367598Z         "unit": {
2026-06-13T10:36:10.8367818Z           "complete": true,
2026-06-13T10:36:10.8367907Z           "evidence": [
2026-06-13T10:36:10.8367988Z             {
2026-06-13T10:36:10.8368132Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.8368212Z               "line": 1446
2026-06-13T10:36:10.8368298Z             },
2026-06-13T10:36:10.8368381Z             {
2026-06-13T10:36:10.8368485Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8368579Z               "line": 7545
2026-06-13T10:36:10.8368656Z             },
2026-06-13T10:36:10.8368743Z             {
2026-06-13T10:36:10.8368909Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8369090Z               "line": 7715
2026-06-13T10:36:10.8369176Z             },
2026-06-13T10:36:10.8369266Z             {
2026-06-13T10:36:10.8369368Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8369452Z               "line": 7722
2026-06-13T10:36:10.8369534Z             },
2026-06-13T10:36:10.8369606Z             {
2026-06-13T10:36:10.8369706Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8369790Z               "line": 7775
2026-06-13T10:36:10.8369871Z             },
2026-06-13T10:36:10.8369956Z             {
2026-06-13T10:36:10.8370065Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8370145Z               "line": 7792
2026-06-13T10:36:10.8370230Z             },
2026-06-13T10:36:10.8370308Z             {
2026-06-13T10:36:10.8370408Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8370493Z               "line": 7822
2026-06-13T10:36:10.8370584Z             },
2026-06-13T10:36:10.8370656Z             {
2026-06-13T10:36:10.8370756Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8370846Z               "line": 7920
2026-06-13T10:36:10.8370928Z             },
2026-06-13T10:36:10.8371004Z             {
2026-06-13T10:36:10.8371104Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8371184Z               "line": 8070
2026-06-13T10:36:10.8371272Z             }
2026-06-13T10:36:10.8371347Z           ]
2026-06-13T10:36:10.8371428Z         }
2026-06-13T10:36:10.8371509Z       }
2026-06-13T10:36:10.8371587Z     },
2026-06-13T10:36:10.8371667Z     {
2026-06-13T10:36:10.8371762Z       "id": "REQ-SUBNET-2",
2026-06-13T10:36:10.8372000Z       "title": "Guided join e2e: spt subnet join CLI initiator + always-on daemon pairing responder",
2026-06-13T10:36:10.8372100Z       "requiredStages": [
2026-06-13T10:36:10.8372187Z         "impl",
2026-06-13T10:36:10.8372268Z         "unit",
2026-06-13T10:36:10.8372353Z         "int"
2026-06-13T10:36:10.8372430Z       ],
2026-06-13T10:36:10.8372521Z       "stages": {
2026-06-13T10:36:10.8372597Z         "doc": {
2026-06-13T10:36:10.8372691Z           "complete": true,
2026-06-13T10:36:10.8372781Z           "evidence": [
2026-06-13T10:36:10.8372858Z             {
2026-06-13T10:36:10.8373025Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-13T10:36:10.8373120Z               "line": 60
2026-06-13T10:36:10.8373196Z             }
2026-06-13T10:36:10.8373273Z           ]
2026-06-13T10:36:10.8373358Z         },
2026-06-13T10:36:10.8373439Z         "impl": {
2026-06-13T10:36:10.8373530Z           "complete": true,
2026-06-13T10:36:10.8373621Z           "evidence": [
2026-06-13T10:36:10.8373701Z             {
2026-06-13T10:36:10.8373821Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T10:36:10.8373916Z               "line": 800
2026-06-13T10:36:10.8373992Z             },
2026-06-13T10:36:10.8374068Z             {
2026-06-13T10:36:10.8374188Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T10:36:10.8374288Z               "line": 801
2026-06-13T10:36:10.8374364Z             },
2026-06-13T10:36:10.8374447Z             {
2026-06-13T10:36:10.8374560Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T10:36:10.8374641Z               "line": 448
2026-06-13T10:36:10.8374713Z             },
2026-06-13T10:36:10.8374879Z             {
2026-06-13T10:36:10.8374997Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T10:36:10.8375088Z               "line": 578
2026-06-13T10:36:10.8375173Z             },
2026-06-13T10:36:10.8375257Z             {
2026-06-13T10:36:10.8375376Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T10:36:10.8375468Z               "line": 26
2026-06-13T10:36:10.8375548Z             },
2026-06-13T10:36:10.8375633Z             {
2026-06-13T10:36:10.8375753Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T10:36:10.8375844Z               "line": 60
2026-06-13T10:36:10.8376030Z             },
2026-06-13T10:36:10.8376112Z             {
2026-06-13T10:36:10.8376225Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T10:36:10.8376316Z               "line": 168
2026-06-13T10:36:10.8376402Z             },
2026-06-13T10:36:10.8376487Z             {
2026-06-13T10:36:10.8376601Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T10:36:10.8376698Z               "line": 295
2026-06-13T10:36:10.8376779Z             },
2026-06-13T10:36:10.8376864Z             {
2026-06-13T10:36:10.8376974Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T10:36:10.8377066Z               "line": 417
2026-06-13T10:36:10.8377154Z             },
2026-06-13T10:36:10.8377236Z             {
2026-06-13T10:36:10.8377366Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T10:36:10.8377450Z               "line": 252
2026-06-13T10:36:10.8377531Z             },
2026-06-13T10:36:10.8377614Z             {
2026-06-13T10:36:10.8377724Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8377817Z               "line": 2885
2026-06-13T10:36:10.8377897Z             },
2026-06-13T10:36:10.8377983Z             {
2026-06-13T10:36:10.8378083Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8378172Z               "line": 3383
2026-06-13T10:36:10.8378253Z             },
2026-06-13T10:36:10.8378344Z             {
2026-06-13T10:36:10.8378448Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8378539Z               "line": 4012
2026-06-13T10:36:10.8378616Z             }
2026-06-13T10:36:10.8378701Z           ]
2026-06-13T10:36:10.8378782Z         },
2026-06-13T10:36:10.8378868Z         "int": {
2026-06-13T10:36:10.8379050Z           "complete": true,
2026-06-13T10:36:10.8379130Z           "evidence": [
2026-06-13T10:36:10.8379207Z             {
2026-06-13T10:36:10.8379331Z               "path": "crates/spt-daemon/tests/pairjoin.rs",
2026-06-13T10:36:10.8379421Z               "line": 22
2026-06-13T10:36:10.8379541Z             },
2026-06-13T10:36:10.8379618Z             {
2026-06-13T10:36:10.8379745Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.8379836Z               "line": 575
2026-06-13T10:36:10.8379923Z             },
2026-06-13T10:36:10.8380007Z             {
2026-06-13T10:36:10.8380122Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.8380214Z               "line": 792
2026-06-13T10:36:10.8380299Z             }
2026-06-13T10:36:10.8380379Z           ]
2026-06-13T10:36:10.8380464Z         },
2026-06-13T10:36:10.8380546Z         "unit": {
2026-06-13T10:36:10.8380644Z           "complete": true,
2026-06-13T10:36:10.8380729Z           "evidence": [
2026-06-13T10:36:10.8380815Z             {
2026-06-13T10:36:10.8380930Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T10:36:10.8381015Z               "line": 586
2026-06-13T10:36:10.8381100Z             },
2026-06-13T10:36:10.8381178Z             {
2026-06-13T10:36:10.8381288Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8381373Z               "line": 7585
2026-06-13T10:36:10.8381459Z             },
2026-06-13T10:36:10.8381540Z             {
2026-06-13T10:36:10.8381640Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8381735Z               "line": 8274
2026-06-13T10:36:10.8381813Z             }
2026-06-13T10:36:10.8381997Z           ]
2026-06-13T10:36:10.8382078Z         }
2026-06-13T10:36:10.8382165Z       }
2026-06-13T10:36:10.8382245Z     },
2026-06-13T10:36:10.8382336Z     {
2026-06-13T10:36:10.8382427Z       "id": "REQ-SUBNET-3",
2026-06-13T10:36:10.8382698Z       "title": "Node labels: hostname-default, gossiped, addressable in @node qualifiers (refuse-on-ambiguity)",
2026-06-13T10:36:10.8382800Z       "requiredStages": [
2026-06-13T10:36:10.8382889Z         "impl",
2026-06-13T10:36:10.8382970Z         "unit"
2026-06-13T10:36:10.8383052Z       ],
2026-06-13T10:36:10.8383138Z       "stages": {
2026-06-13T10:36:10.8383336Z         "doc": {
2026-06-13T10:36:10.8383432Z           "complete": false,
2026-06-13T10:36:10.8383523Z           "evidence": []
2026-06-13T10:36:10.8383603Z         },
2026-06-13T10:36:10.8383689Z         "impl": {
2026-06-13T10:36:10.8383776Z           "complete": true,
2026-06-13T10:36:10.8383866Z           "evidence": [
2026-06-13T10:36:10.8383956Z             {
2026-06-13T10:36:10.8384095Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.8384181Z               "line": 152
2026-06-13T10:36:10.8384261Z             },
2026-06-13T10:36:10.8384352Z             {
2026-06-13T10:36:10.8384477Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.8384566Z               "line": 283
2026-06-13T10:36:10.8384648Z             },
2026-06-13T10:36:10.8384730Z             {
2026-06-13T10:36:10.8384853Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.8384938Z               "line": 413
2026-06-13T10:36:10.8385030Z             },
2026-06-13T10:36:10.8385120Z             {
2026-06-13T10:36:10.8385239Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.8385326Z               "line": 452
2026-06-13T10:36:10.8385411Z             },
2026-06-13T10:36:10.8385496Z             {
2026-06-13T10:36:10.8385614Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.8385705Z               "line": 125
2026-06-13T10:36:10.8385785Z             },
2026-06-13T10:36:10.8385865Z             {
2026-06-13T10:36:10.8385989Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.8386076Z               "line": 237
2026-06-13T10:36:10.8386156Z             },
2026-06-13T10:36:10.8386237Z             {
2026-06-13T10:36:10.8386357Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.8386437Z               "line": 248
2026-06-13T10:36:10.8386518Z             },
2026-06-13T10:36:10.8386600Z             {
2026-06-13T10:36:10.8386709Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.8386809Z               "line": 269
2026-06-13T10:36:10.8386881Z             },
2026-06-13T10:36:10.8386962Z             {
2026-06-13T10:36:10.8387077Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.8387161Z               "line": 573
2026-06-13T10:36:10.8387239Z             },
2026-06-13T10:36:10.8387329Z             {
2026-06-13T10:36:10.8387443Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.8387529Z               "line": 632
2026-06-13T10:36:10.8387602Z             },
2026-06-13T10:36:10.8387686Z             {
2026-06-13T10:36:10.8387796Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-13T10:36:10.8387874Z               "line": 61
2026-06-13T10:36:10.8387950Z             },
2026-06-13T10:36:10.8388029Z             {
2026-06-13T10:36:10.8388145Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-13T10:36:10.8388226Z               "line": 90
2026-06-13T10:36:10.8388316Z             },
2026-06-13T10:36:10.8388396Z             {
2026-06-13T10:36:10.8388515Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-13T10:36:10.8388596Z               "line": 125
2026-06-13T10:36:10.8388675Z             },
2026-06-13T10:36:10.8388756Z             {
2026-06-13T10:36:10.8388875Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-13T10:36:10.8389113Z               "line": 9
2026-06-13T10:36:10.8389191Z             },
2026-06-13T10:36:10.8389271Z             {
2026-06-13T10:36:10.8389394Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8389486Z               "line": 3220
2026-06-13T10:36:10.8389567Z             },
2026-06-13T10:36:10.8389648Z             {
2026-06-13T10:36:10.8389757Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T10:36:10.8389834Z               "line": 445
2026-06-13T10:36:10.8389919Z             }
2026-06-13T10:36:10.8390005Z           ]
2026-06-13T10:36:10.8390081Z         },
2026-06-13T10:36:10.8390272Z         "int": {
2026-06-13T10:36:10.8390353Z           "complete": false,
2026-06-13T10:36:10.8390435Z           "evidence": []
2026-06-13T10:36:10.8390507Z         },
2026-06-13T10:36:10.8390581Z         "unit": {
2026-06-13T10:36:10.8390663Z           "complete": true,
2026-06-13T10:36:10.8390764Z           "evidence": [
2026-06-13T10:36:10.8390841Z             {
2026-06-13T10:36:10.8390972Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.8391063Z               "line": 1273
2026-06-13T10:36:10.8391144Z             },
2026-06-13T10:36:10.8391223Z             {
2026-06-13T10:36:10.8391350Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.8391433Z               "line": 1575
2026-06-13T10:36:10.8391519Z             },
2026-06-13T10:36:10.8391590Z             {
2026-06-13T10:36:10.8391718Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T10:36:10.8391800Z               "line": 885
2026-06-13T10:36:10.8391885Z             },
2026-06-13T10:36:10.8391971Z             {
2026-06-13T10:36:10.8392087Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.8392172Z               "line": 941
2026-06-13T10:36:10.8392252Z             },
2026-06-13T10:36:10.8392334Z             {
2026-06-13T10:36:10.8392443Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.8392534Z               "line": 990
2026-06-13T10:36:10.8392615Z             },
2026-06-13T10:36:10.8392697Z             {
2026-06-13T10:36:10.8392815Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.8392891Z               "line": 1049
2026-06-13T10:36:10.8392973Z             },
2026-06-13T10:36:10.8393050Z             {
2026-06-13T10:36:10.8393163Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-13T10:36:10.8393235Z               "line": 233
2026-06-13T10:36:10.8393326Z             },
2026-06-13T10:36:10.8393407Z             {
2026-06-13T10:36:10.8393530Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-13T10:36:10.8393613Z               "line": 49
2026-06-13T10:36:10.8393689Z             },
2026-06-13T10:36:10.8393773Z             {
2026-06-13T10:36:10.8393867Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8393958Z               "line": 7920
2026-06-13T10:36:10.8394036Z             },
2026-06-13T10:36:10.8394121Z             {
2026-06-13T10:36:10.8394225Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8394307Z               "line": 8025
2026-06-13T10:36:10.8394393Z             },
2026-06-13T10:36:10.8394478Z             {
2026-06-13T10:36:10.8394578Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8394655Z               "line": 8240
2026-06-13T10:36:10.8394741Z             }
2026-06-13T10:36:10.8394821Z           ]
2026-06-13T10:36:10.8394903Z         }
2026-06-13T10:36:10.8394984Z       }
2026-06-13T10:36:10.8395065Z     },
2026-06-13T10:36:10.8395150Z     {
2026-06-13T10:36:10.8395252Z       "id": "REQ-SUBNET-4",
2026-06-13T10:36:10.8395528Z       "title": "Subnet membership mutations elevation-gated (create = seed reveal; join = trust-boundary enrollment)",
2026-06-13T10:36:10.8395633Z       "requiredStages": [
2026-06-13T10:36:10.8395713Z         "impl",
2026-06-13T10:36:10.8395799Z         "unit"
2026-06-13T10:36:10.8395871Z       ],
2026-06-13T10:36:10.8396037Z       "stages": {
2026-06-13T10:36:10.8396127Z         "doc": {
2026-06-13T10:36:10.8396213Z           "complete": true,
2026-06-13T10:36:10.8396307Z           "evidence": [
2026-06-13T10:36:10.8396387Z             {
2026-06-13T10:36:10.8396554Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-13T10:36:10.8396636Z               "line": 60
2026-06-13T10:36:10.8396716Z             }
2026-06-13T10:36:10.8396802Z           ]
2026-06-13T10:36:10.8396883Z         },
2026-06-13T10:36:10.8396964Z         "impl": {
2026-06-13T10:36:10.8397049Z           "complete": true,
2026-06-13T10:36:10.8397213Z           "evidence": [
2026-06-13T10:36:10.8397283Z             {
2026-06-13T10:36:10.8397383Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8397460Z               "line": 2674
2026-06-13T10:36:10.8397546Z             },
2026-06-13T10:36:10.8397641Z             {
2026-06-13T10:36:10.8397741Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8397847Z               "line": 3979
2026-06-13T10:36:10.8397927Z             },
2026-06-13T10:36:10.8398008Z             {
2026-06-13T10:36:10.8398104Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8398190Z               "line": 4012
2026-06-13T10:36:10.8398275Z             }
2026-06-13T10:36:10.8398351Z           ]
2026-06-13T10:36:10.8398434Z         },
2026-06-13T10:36:10.8398519Z         "int": {
2026-06-13T10:36:10.8398603Z           "complete": false,
2026-06-13T10:36:10.8398700Z           "evidence": []
2026-06-13T10:36:10.8398782Z         },
2026-06-13T10:36:10.8398872Z         "unit": {
2026-06-13T10:36:10.8399036Z           "complete": true,
2026-06-13T10:36:10.8399118Z           "evidence": [
2026-06-13T10:36:10.8399198Z             {
2026-06-13T10:36:10.8399296Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8399383Z               "line": 7701
2026-06-13T10:36:10.8399465Z             },
2026-06-13T10:36:10.8399550Z             {
2026-06-13T10:36:10.8399649Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8399741Z               "line": 7775
2026-06-13T10:36:10.8399822Z             }
2026-06-13T10:36:10.8399898Z           ]
2026-06-13T10:36:10.8399983Z         }
2026-06-13T10:36:10.8400065Z       }
2026-06-13T10:36:10.8400146Z     },
2026-06-13T10:36:10.8400227Z     {
2026-06-13T10:36:10.8400322Z       "id": "REQ-SUBNET-5",
2026-06-13T10:36:10.8401508Z       "title": "Per-subnet serve-state: spt subnet detach <NAME> [--save] / attach <NAME> [--save] — daemon keeps running, stops/starts advertising + connecting for that subnet (peer pump + responder selective); --save persists the startup default in daemon config; the all-attached banner gains per-subnet states (M8 decision 6, --save renamed from --auto per decision 25 session)",
2026-06-13T10:36:10.8401608Z       "requiredStages": [
2026-06-13T10:36:10.8401699Z         "impl",
2026-06-13T10:36:10.8401783Z         "unit",
2026-06-13T10:36:10.8401868Z         "int"
2026-06-13T10:36:10.8401954Z       ],
2026-06-13T10:36:10.8402036Z       "stages": {
2026-06-13T10:36:10.8402112Z         "doc": {
2026-06-13T10:36:10.8402207Z           "complete": false,
2026-06-13T10:36:10.8402293Z           "evidence": []
2026-06-13T10:36:10.8402365Z         },
2026-06-13T10:36:10.8402450Z         "impl": {
2026-06-13T10:36:10.8402550Z           "complete": true,
2026-06-13T10:36:10.8402637Z           "evidence": [
2026-06-13T10:36:10.8402717Z             {
2026-06-13T10:36:10.8402831Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T10:36:10.8402928Z               "line": 126
2026-06-13T10:36:10.8403004Z             },
2026-06-13T10:36:10.8403094Z             {
2026-06-13T10:36:10.8403213Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T10:36:10.8403300Z               "line": 413
2026-06-13T10:36:10.8403385Z             },
2026-06-13T10:36:10.8403466Z             {
2026-06-13T10:36:10.8403581Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T10:36:10.8403670Z               "line": 74
2026-06-13T10:36:10.8403867Z             },
2026-06-13T10:36:10.8403958Z             {
2026-06-13T10:36:10.8404076Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.8404168Z               "line": 332
2026-06-13T10:36:10.8404249Z             },
2026-06-13T10:36:10.8404328Z             {
2026-06-13T10:36:10.8404446Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.8404533Z               "line": 621
2026-06-13T10:36:10.8404610Z             },
2026-06-13T10:36:10.8404685Z             {
2026-06-13T10:36:10.8404804Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-13T10:36:10.8404986Z               "line": 31
2026-06-13T10:36:10.8405062Z             },
2026-06-13T10:36:10.8405143Z             {
2026-06-13T10:36:10.8405258Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-13T10:36:10.8405348Z               "line": 50
2026-06-13T10:36:10.8405434Z             },
2026-06-13T10:36:10.8405516Z             {
2026-06-13T10:36:10.8405625Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-13T10:36:10.8405706Z               "line": 69
2026-06-13T10:36:10.8405792Z             },
2026-06-13T10:36:10.8405878Z             {
2026-06-13T10:36:10.8406001Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-13T10:36:10.8406093Z               "line": 113
2026-06-13T10:36:10.8406183Z             },
2026-06-13T10:36:10.8406263Z             {
2026-06-13T10:36:10.8406397Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-13T10:36:10.8406494Z               "line": 25
2026-06-13T10:36:10.8406592Z             },
2026-06-13T10:36:10.8406682Z             {
2026-06-13T10:36:10.8406806Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-13T10:36:10.8406900Z               "line": 34
2026-06-13T10:36:10.8406985Z             },
2026-06-13T10:36:10.8407076Z             {
2026-06-13T10:36:10.8407206Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-13T10:36:10.8407304Z               "line": 17
2026-06-13T10:36:10.8407390Z             },
2026-06-13T10:36:10.8407468Z             {
2026-06-13T10:36:10.8407586Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8407676Z               "line": 3937
2026-06-13T10:36:10.8407763Z             },
2026-06-13T10:36:10.8407848Z             {
2026-06-13T10:36:10.8407962Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T10:36:10.8408059Z               "line": 419
2026-06-13T10:36:10.8408140Z             }
2026-06-13T10:36:10.8408225Z           ]
2026-06-13T10:36:10.8408306Z         },
2026-06-13T10:36:10.8408402Z         "int": {
2026-06-13T10:36:10.8408501Z           "complete": true,
2026-06-13T10:36:10.8408587Z           "evidence": [
2026-06-13T10:36:10.8408674Z             {
2026-06-13T10:36:10.8408797Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T10:36:10.8408888Z               "line": 814
2026-06-13T10:36:10.8409041Z             }
2026-06-13T10:36:10.8409135Z           ]
2026-06-13T10:36:10.8409226Z         },
2026-06-13T10:36:10.8409308Z         "unit": {
2026-06-13T10:36:10.8409399Z           "complete": true,
2026-06-13T10:36:10.8409488Z           "evidence": [
2026-06-13T10:36:10.8409578Z             {
2026-06-13T10:36:10.8409692Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-13T10:36:10.8409781Z               "line": 341
2026-06-13T10:36:10.8409866Z             },
2026-06-13T10:36:10.8409948Z             {
2026-06-13T10:36:10.8410077Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T10:36:10.8410166Z               "line": 1115
2026-06-13T10:36:10.8410257Z             },
2026-06-13T10:36:10.8410340Z             {
2026-06-13T10:36:10.8410463Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-13T10:36:10.8410553Z               "line": 151
2026-06-13T10:36:10.8410640Z             },
2026-06-13T10:36:10.8410720Z             {
2026-06-13T10:36:10.8410843Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-13T10:36:10.8411040Z               "line": 61
2026-06-13T10:36:10.8411121Z             },
2026-06-13T10:36:10.8411206Z             {
2026-06-13T10:36:10.8411327Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-13T10:36:10.8411416Z               "line": 111
2026-06-13T10:36:10.8411497Z             },
2026-06-13T10:36:10.8411579Z             {
2026-06-13T10:36:10.8411702Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-13T10:36:10.8411788Z               "line": 138
2026-06-13T10:36:10.8411876Z             },
2026-06-13T10:36:10.8411961Z             {
2026-06-13T10:36:10.8412188Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-13T10:36:10.8412278Z               "line": 148
2026-06-13T10:36:10.8412362Z             },
2026-06-13T10:36:10.8412452Z             {
2026-06-13T10:36:10.8412557Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8412649Z               "line": 7602
2026-06-13T10:36:10.8412733Z             }
2026-06-13T10:36:10.8412824Z           ]
2026-06-13T10:36:10.8412906Z         }
2026-06-13T10:36:10.8412987Z       }
2026-06-13T10:36:10.8413072Z     },
2026-06-13T10:36:10.8413159Z     {
2026-06-13T10:36:10.8413254Z       "id": "REQ-SUBNET-6",
2026-06-13T10:36:10.8413930Z       "title": "Trust lifecycle verbs, elevation-gated: spt subnet leave <NAME> (membership exit) and spt subnet prune <node> (removes a dead identity's trust + registry rows, killing its dead dials; trust mutation = security surface, REQ-PAIR-6 gate machinery) (M8 decisions 6-7)",
2026-06-13T10:36:10.8414026Z       "requiredStages": [
2026-06-13T10:36:10.8414122Z         "impl",
2026-06-13T10:36:10.8414203Z         "unit"
2026-06-13T10:36:10.8414288Z       ],
2026-06-13T10:36:10.8414379Z       "stages": {
2026-06-13T10:36:10.8414466Z         "doc": {
2026-06-13T10:36:10.8414560Z           "complete": false,
2026-06-13T10:36:10.8414646Z           "evidence": []
2026-06-13T10:36:10.8414733Z         },
2026-06-13T10:36:10.8414814Z         "impl": {
2026-06-13T10:36:10.8414921Z           "complete": true,
2026-06-13T10:36:10.8415011Z           "evidence": [
2026-06-13T10:36:10.8415093Z             {
2026-06-13T10:36:10.8415213Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.8415298Z               "line": 238
2026-06-13T10:36:10.8415384Z             },
2026-06-13T10:36:10.8415470Z             {
2026-06-13T10:36:10.8415574Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8415664Z               "line": 3595
2026-06-13T10:36:10.8415743Z             },
2026-06-13T10:36:10.8415832Z             {
2026-06-13T10:36:10.8415941Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8416033Z               "line": 3612
2026-06-13T10:36:10.8416114Z             },
2026-06-13T10:36:10.8416195Z             {
2026-06-13T10:36:10.8416294Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8416381Z               "line": 3665
2026-06-13T10:36:10.8416471Z             },
2026-06-13T10:36:10.8416557Z             {
2026-06-13T10:36:10.8416658Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8416748Z               "line": 3688
2026-06-13T10:36:10.8416833Z             }
2026-06-13T10:36:10.8416914Z           ]
2026-06-13T10:36:10.8416982Z         },
2026-06-13T10:36:10.8417068Z         "int": {
2026-06-13T10:36:10.8417157Z           "complete": false,
2026-06-13T10:36:10.8417247Z           "evidence": []
2026-06-13T10:36:10.8417318Z         },
2026-06-13T10:36:10.8417413Z         "unit": {
2026-06-13T10:36:10.8417507Z           "complete": true,
2026-06-13T10:36:10.8417583Z           "evidence": [
2026-06-13T10:36:10.8417679Z             {
2026-06-13T10:36:10.8417775Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8417864Z               "line": 7616
2026-06-13T10:36:10.8417941Z             },
2026-06-13T10:36:10.8418018Z             {
2026-06-13T10:36:10.8418122Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8418203Z               "line": 7649
2026-06-13T10:36:10.8418357Z             },
2026-06-13T10:36:10.8418437Z             {
2026-06-13T10:36:10.8418536Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8418619Z               "line": 7658
2026-06-13T10:36:10.8418695Z             }
2026-06-13T10:36:10.8418775Z           ]
2026-06-13T10:36:10.8418856Z         }
2026-06-13T10:36:10.8419019Z       }
2026-06-13T10:36:10.8419095Z     },
2026-06-13T10:36:10.8419175Z     {
2026-06-13T10:36:10.8419268Z       "id": "REQ-SUBNET-7",
2026-06-13T10:36:10.8420866Z       "title": "Per-machine re-pair trust overwrite: registry rows carry a hashed stable machine identifier (OS machine id /etc/machine-id|MachineGuid, domain-separated SHA-256 before gossip, spt-minted persisted UUID fallback; additive serde-default field — old rows parse clean); a COMPLETED pairing ceremony presenting the same node label AND machine id as an existing trusted row evicts the superseded identity's trust + registry rows on the seed-holder and replicates the eviction; a gossiped claim alone never evicts trust (M8 decisions 13, 22)",
2026-06-13T10:36:10.8421079Z       "requiredStages": [
2026-06-13T10:36:10.8421157Z         "impl",
2026-06-13T10:36:10.8421247Z         "unit"
2026-06-13T10:36:10.8421333Z       ],
2026-06-13T10:36:10.8421418Z       "stages": {
2026-06-13T10:36:10.8421500Z         "doc": {
2026-06-13T10:36:10.8421581Z           "complete": false,
2026-06-13T10:36:10.8421667Z           "evidence": []
2026-06-13T10:36:10.8421748Z         },
2026-06-13T10:36:10.8421829Z         "impl": {
2026-06-13T10:36:10.8421933Z           "complete": true,
2026-06-13T10:36:10.8422028Z           "evidence": [
2026-06-13T10:36:10.8422116Z             {
2026-06-13T10:36:10.8422239Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-13T10:36:10.8422334Z               "line": 17
2026-06-13T10:36:10.8422411Z             },
2026-06-13T10:36:10.8422493Z             {
2026-06-13T10:36:10.8422614Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T10:36:10.8422709Z               "line": 103
2026-06-13T10:36:10.8422790Z             },
2026-06-13T10:36:10.8422871Z             {
2026-06-13T10:36:10.8422993Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T10:36:10.8423080Z               "line": 312
2026-06-13T10:36:10.8423161Z             },
2026-06-13T10:36:10.8423251Z             {
2026-06-13T10:36:10.8423379Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-13T10:36:10.8423471Z               "line": 131
2026-06-13T10:36:10.8423543Z             },
2026-06-13T10:36:10.8423632Z             {
2026-06-13T10:36:10.8423757Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.8423847Z               "line": 160
2026-06-13T10:36:10.8423932Z             },
2026-06-13T10:36:10.8424014Z             {
2026-06-13T10:36:10.8424133Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.8424219Z               "line": 417
2026-06-13T10:36:10.8424300Z             },
2026-06-13T10:36:10.8424392Z             {
2026-06-13T10:36:10.8424515Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.8424600Z               "line": 590
2026-06-13T10:36:10.8424682Z             },
2026-06-13T10:36:10.8424773Z             {
2026-06-13T10:36:10.8424891Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.8424978Z               "line": 630
2026-06-13T10:36:10.8425060Z             },
2026-06-13T10:36:10.8425143Z             {
2026-06-13T10:36:10.8425268Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.8425355Z               "line": 686
2026-06-13T10:36:10.8425444Z             },
2026-06-13T10:36:10.8425524Z             {
2026-06-13T10:36:10.8425648Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T10:36:10.8425740Z               "line": 136
2026-06-13T10:36:10.8425825Z             },
2026-06-13T10:36:10.8425910Z             {
2026-06-13T10:36:10.8426030Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.8426225Z               "line": 139
2026-06-13T10:36:10.8426307Z             }
2026-06-13T10:36:10.8426392Z           ]
2026-06-13T10:36:10.8426477Z         },
2026-06-13T10:36:10.8426559Z         "int": {
2026-06-13T10:36:10.8426660Z           "complete": false,
2026-06-13T10:36:10.8426740Z           "evidence": []
2026-06-13T10:36:10.8426821Z         },
2026-06-13T10:36:10.8426898Z         "unit": {
2026-06-13T10:36:10.8426984Z           "complete": true,
2026-06-13T10:36:10.8427069Z           "evidence": [
2026-06-13T10:36:10.8427155Z             {
2026-06-13T10:36:10.8427355Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-13T10:36:10.8427446Z               "line": 136
2026-06-13T10:36:10.8427527Z             },
2026-06-13T10:36:10.8427610Z             {
2026-06-13T10:36:10.8427727Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-13T10:36:10.8427812Z               "line": 156
2026-06-13T10:36:10.8427903Z             },
2026-06-13T10:36:10.8427987Z             {
2026-06-13T10:36:10.8428110Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.8428201Z               "line": 905
2026-06-13T10:36:10.8428287Z             },
2026-06-13T10:36:10.8428368Z             {
2026-06-13T10:36:10.8428492Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T10:36:10.8428573Z               "line": 927
2026-06-13T10:36:10.8428659Z             },
2026-06-13T10:36:10.8428739Z             {
2026-06-13T10:36:10.8428869Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T10:36:10.8429040Z               "line": 1419
2026-06-13T10:36:10.8429131Z             },
2026-06-13T10:36:10.8429212Z             {
2026-06-13T10:36:10.8429331Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T10:36:10.8429416Z               "line": 985
2026-06-13T10:36:10.8429494Z             }
2026-06-13T10:36:10.8429579Z           ]
2026-06-13T10:36:10.8429669Z         }
2026-06-13T10:36:10.8429750Z       }
2026-06-13T10:36:10.8429833Z     },
2026-06-13T10:36:10.8429912Z     {
2026-06-13T10:36:10.8429999Z       "id": "REQ-SUBNET-8",
2026-06-13T10:36:10.8431063Z       "title": "Status render honesty: zero-subnet text is daemon-aware ('No subnets registered — this node is standalone.' + daemon-running-dependent blurb, never implying messaging works while the daemon is down); hint footer prints on bare spt subnet only (status drops it); a stalled pump is surfaced in subnet status, never rendered implied-healthy (M8 decisions 11-12, 23)",
2026-06-13T10:36:10.8431164Z       "requiredStages": [
2026-06-13T10:36:10.8431254Z         "impl",
2026-06-13T10:36:10.8431339Z         "unit"
2026-06-13T10:36:10.8431412Z       ],
2026-06-13T10:36:10.8431493Z       "stages": {
2026-06-13T10:36:10.8431573Z         "doc": {
2026-06-13T10:36:10.8431668Z           "complete": false,
2026-06-13T10:36:10.8431760Z           "evidence": []
2026-06-13T10:36:10.8431850Z         },
2026-06-13T10:36:10.8431921Z         "impl": {
2026-06-13T10:36:10.8432012Z           "complete": true,
2026-06-13T10:36:10.8432094Z           "evidence": [
2026-06-13T10:36:10.8432188Z             {
2026-06-13T10:36:10.8432283Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8434928Z               "line": 2962
2026-06-13T10:36:10.8435032Z             },
2026-06-13T10:36:10.8435113Z             {
2026-06-13T10:36:10.8435233Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8435323Z               "line": 2991
2026-06-13T10:36:10.8435413Z             },
2026-06-13T10:36:10.8435499Z             {
2026-06-13T10:36:10.8435624Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8435717Z               "line": 3008
2026-06-13T10:36:10.8435794Z             },
2026-06-13T10:36:10.8435882Z             {
2026-06-13T10:36:10.8435981Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8436075Z               "line": 3031
2026-06-13T10:36:10.8436155Z             },
2026-06-13T10:36:10.8436385Z             {
2026-06-13T10:36:10.8436489Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8436577Z               "line": 3445
2026-06-13T10:36:10.8436667Z             }
2026-06-13T10:36:10.8436747Z           ]
2026-06-13T10:36:10.8436829Z         },
2026-06-13T10:36:10.8436915Z         "int": {
2026-06-13T10:36:10.8437010Z           "complete": false,
2026-06-13T10:36:10.8437105Z           "evidence": []
2026-06-13T10:36:10.8437187Z         },
2026-06-13T10:36:10.8437277Z         "unit": {
2026-06-13T10:36:10.8437366Z           "complete": true,
2026-06-13T10:36:10.8437453Z           "evidence": [
2026-06-13T10:36:10.8437634Z             {
2026-06-13T10:36:10.8437739Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8437831Z               "line": 7806
2026-06-13T10:36:10.8437911Z             },
2026-06-13T10:36:10.8437996Z             {
2026-06-13T10:36:10.8438097Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8438184Z               "line": 7822
2026-06-13T10:36:10.8438272Z             }
2026-06-13T10:36:10.8438353Z           ]
2026-06-13T10:36:10.8438438Z         }
2026-06-13T10:36:10.8438520Z       }
2026-06-13T10:36:10.8438603Z     },
2026-06-13T10:36:10.8438689Z     {
2026-06-13T10:36:10.8438785Z       "id": "REQ-TERM-1",
2026-06-13T10:36:10.8439052Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-13T10:36:10.8439152Z       "requiredStages": [
2026-06-13T10:36:10.8439242Z         "impl",
2026-06-13T10:36:10.8439323Z         "unit"
2026-06-13T10:36:10.8439405Z       ],
2026-06-13T10:36:10.8439491Z       "stages": {
2026-06-13T10:36:10.8439585Z         "doc": {
2026-06-13T10:36:10.8439676Z           "complete": false,
2026-06-13T10:36:10.8439768Z           "evidence": []
2026-06-13T10:36:10.8439853Z         },
2026-06-13T10:36:10.8439943Z         "impl": {
2026-06-13T10:36:10.8440034Z           "complete": true,
2026-06-13T10:36:10.8440120Z           "evidence": [
2026-06-13T10:36:10.8440215Z             {
2026-06-13T10:36:10.8440335Z               "path": "crates/spt-term/src/pty.rs",
2026-06-13T10:36:10.8440421Z               "line": 59
2026-06-13T10:36:10.8440506Z             },
2026-06-13T10:36:10.8440587Z             {
2026-06-13T10:36:10.8440698Z               "path": "crates/spt-term/src/pty.rs",
2026-06-13T10:36:10.8440787Z               "line": 171
2026-06-13T10:36:10.8440868Z             },
2026-06-13T10:36:10.8440960Z             {
2026-06-13T10:36:10.8441074Z               "path": "crates/spt-term/src/surface.rs",
2026-06-13T10:36:10.8441164Z               "line": 100
2026-06-13T10:36:10.8441248Z             }
2026-06-13T10:36:10.8441340Z           ]
2026-06-13T10:36:10.8441424Z         },
2026-06-13T10:36:10.8441509Z         "int": {
2026-06-13T10:36:10.8441599Z           "complete": false,
2026-06-13T10:36:10.8441690Z           "evidence": []
2026-06-13T10:36:10.8441776Z         },
2026-06-13T10:36:10.8441861Z         "unit": {
2026-06-13T10:36:10.8441952Z           "complete": true,
2026-06-13T10:36:10.8442044Z           "evidence": [
2026-06-13T10:36:10.8442129Z             {
2026-06-13T10:36:10.8442253Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-13T10:36:10.8442344Z               "line": 24
2026-06-13T10:36:10.8442430Z             },
2026-06-13T10:36:10.8442510Z             {
2026-06-13T10:36:10.8442635Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-13T10:36:10.8442720Z               "line": 56
2026-06-13T10:36:10.8442806Z             }
2026-06-13T10:36:10.8442887Z           ]
2026-06-13T10:36:10.8442978Z         }
2026-06-13T10:36:10.8443068Z       }
2026-06-13T10:36:10.8443154Z     },
2026-06-13T10:36:10.8443236Z     {
2026-06-13T10:36:10.8443326Z       "id": "REQ-TERM-2",
2026-06-13T10:36:10.8443517Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-13T10:36:10.8443617Z       "requiredStages": [
2026-06-13T10:36:10.8443702Z         "impl",
2026-06-13T10:36:10.8443787Z         "unit"
2026-06-13T10:36:10.8443996Z       ],
2026-06-13T10:36:10.8444085Z       "stages": {
2026-06-13T10:36:10.8444170Z         "doc": {
2026-06-13T10:36:10.8444267Z           "complete": false,
2026-06-13T10:36:10.8444353Z           "evidence": []
2026-06-13T10:36:10.8444437Z         },
2026-06-13T10:36:10.8444519Z         "impl": {
2026-06-13T10:36:10.8444596Z           "complete": true,
2026-06-13T10:36:10.8444686Z           "evidence": [
2026-06-13T10:36:10.8444757Z             {
2026-06-13T10:36:10.8444872Z               "path": "crates/spt-term/src/surface.rs",
2026-06-13T10:36:10.8444953Z               "line": 117
2026-06-13T10:36:10.8445134Z             },
2026-06-13T10:36:10.8445221Z             {
2026-06-13T10:36:10.8445330Z               "path": "crates/spt-term/src/surface.rs",
2026-06-13T10:36:10.8445410Z               "line": 127
2026-06-13T10:36:10.8445493Z             }
2026-06-13T10:36:10.8445578Z           ]
2026-06-13T10:36:10.8445669Z         },
2026-06-13T10:36:10.8445759Z         "int": {
2026-06-13T10:36:10.8445860Z           "complete": false,
2026-06-13T10:36:10.8445949Z           "evidence": []
2026-06-13T10:36:10.8446035Z         },
2026-06-13T10:36:10.8446113Z         "unit": {
2026-06-13T10:36:10.8446208Z           "complete": true,
2026-06-13T10:36:10.8446292Z           "evidence": [
2026-06-13T10:36:10.8446379Z             {
2026-06-13T10:36:10.8446499Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-13T10:36:10.8446583Z               "line": 46
2026-06-13T10:36:10.8446668Z             },
2026-06-13T10:36:10.8446754Z             {
2026-06-13T10:36:10.8446870Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-13T10:36:10.8446963Z               "line": 77
2026-06-13T10:36:10.8447049Z             }
2026-06-13T10:36:10.8447137Z           ]
2026-06-13T10:36:10.8447218Z         }
2026-06-13T10:36:10.8447302Z       }
2026-06-13T10:36:10.8447384Z     },
2026-06-13T10:36:10.8447466Z     {
2026-06-13T10:36:10.8447556Z       "id": "REQ-TERM-3",
2026-06-13T10:36:10.8447703Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-13T10:36:10.8447808Z       "requiredStages": [
2026-06-13T10:36:10.8447890Z         "impl",
2026-06-13T10:36:10.8447975Z         "unit"
2026-06-13T10:36:10.8448057Z       ],
2026-06-13T10:36:10.8448147Z       "stages": {
2026-06-13T10:36:10.8448228Z         "doc": {
2026-06-13T10:36:10.8448318Z           "complete": false,
2026-06-13T10:36:10.8448420Z           "evidence": []
2026-06-13T10:36:10.8448508Z         },
2026-06-13T10:36:10.8448594Z         "impl": {
2026-06-13T10:36:10.8448682Z           "complete": true,
2026-06-13T10:36:10.8448772Z           "evidence": [
2026-06-13T10:36:10.8448856Z             {
2026-06-13T10:36:10.8449061Z               "path": "crates/spt-term/src/stream.rs",
2026-06-13T10:36:10.8449149Z               "line": 71
2026-06-13T10:36:10.8449235Z             }
2026-06-13T10:36:10.8449316Z           ]
2026-06-13T10:36:10.8449398Z         },
2026-06-13T10:36:10.8449488Z         "int": {
2026-06-13T10:36:10.8449573Z           "complete": false,
2026-06-13T10:36:10.8449674Z           "evidence": []
2026-06-13T10:36:10.8449760Z         },
2026-06-13T10:36:10.8449845Z         "unit": {
2026-06-13T10:36:10.8449936Z           "complete": true,
2026-06-13T10:36:10.8450022Z           "evidence": [
2026-06-13T10:36:10.8450113Z             {
2026-06-13T10:36:10.8450222Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-13T10:36:10.8450314Z               "line": 37
2026-06-13T10:36:10.8450404Z             },
2026-06-13T10:36:10.8450484Z             {
2026-06-13T10:36:10.8450599Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-13T10:36:10.8450689Z               "line": 67
2026-06-13T10:36:10.8450775Z             }
2026-06-13T10:36:10.8450856Z           ]
2026-06-13T10:36:10.8450939Z         }
2026-06-13T10:36:10.8451023Z       }
2026-06-13T10:36:10.8451104Z     },
2026-06-13T10:36:10.8451190Z     {
2026-06-13T10:36:10.8451278Z       "id": "REQ-TERM-4",
2026-06-13T10:36:10.8451630Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-13T10:36:10.8451827Z       "requiredStages": [
2026-06-13T10:36:10.8451914Z         "impl",
2026-06-13T10:36:10.8451998Z         "unit",
2026-06-13T10:36:10.8452079Z         "int"
2026-06-13T10:36:10.8452164Z       ],
2026-06-13T10:36:10.8452246Z       "stages": {
2026-06-13T10:36:10.8452332Z         "doc": {
2026-06-13T10:36:10.8452422Z           "complete": true,
2026-06-13T10:36:10.8452512Z           "evidence": [
2026-06-13T10:36:10.8452599Z             {
2026-06-13T10:36:10.8452698Z               "path": "docs/MANIFEST.md",
2026-06-13T10:36:10.8452889Z               "line": 115
2026-06-13T10:36:10.8452971Z             }
2026-06-13T10:36:10.8453056Z           ]
2026-06-13T10:36:10.8453133Z         },
2026-06-13T10:36:10.8453223Z         "impl": {
2026-06-13T10:36:10.8453313Z           "complete": true,
2026-06-13T10:36:10.8453399Z           "evidence": [
2026-06-13T10:36:10.8453486Z             {
2026-06-13T10:36:10.8453599Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T10:36:10.8453695Z               "line": 759
2026-06-13T10:36:10.8453776Z             },
2026-06-13T10:36:10.8453858Z             {
2026-06-13T10:36:10.8453976Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T10:36:10.8454062Z               "line": 41
2026-06-13T10:36:10.8454145Z             },
2026-06-13T10:36:10.8454225Z             {
2026-06-13T10:36:10.8454337Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T10:36:10.8454423Z               "line": 91
2026-06-13T10:36:10.8454509Z             },
2026-06-13T10:36:10.8454588Z             {
2026-06-13T10:36:10.8454697Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T10:36:10.8454788Z               "line": 152
2026-06-13T10:36:10.8454870Z             },
2026-06-13T10:36:10.8454955Z             {
2026-06-13T10:36:10.8455069Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T10:36:10.8455166Z               "line": 221
2026-06-13T10:36:10.8455251Z             },
2026-06-13T10:36:10.8455331Z             {
2026-06-13T10:36:10.8455456Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-13T10:36:10.8455542Z               "line": 20
2026-06-13T10:36:10.8455627Z             },
2026-06-13T10:36:10.8455709Z             {
2026-06-13T10:36:10.8455828Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-13T10:36:10.8455918Z               "line": 222
2026-06-13T10:36:10.8455999Z             },
2026-06-13T10:36:10.8456081Z             {
2026-06-13T10:36:10.8456195Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-13T10:36:10.8456300Z               "line": 242
2026-06-13T10:36:10.8456382Z             },
2026-06-13T10:36:10.8456467Z             {
2026-06-13T10:36:10.8456576Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.8456663Z               "line": 699
2026-06-13T10:36:10.8456754Z             },
2026-06-13T10:36:10.8456838Z             {
2026-06-13T10:36:10.8456944Z               "path": "crates/spt-term/src/digest.rs",
2026-06-13T10:36:10.8457026Z               "line": 162
2026-06-13T10:36:10.8457106Z             },
2026-06-13T10:36:10.8457190Z             {
2026-06-13T10:36:10.8457290Z               "path": "crates/spt-term/src/digest.rs",
2026-06-13T10:36:10.8457382Z               "line": 206
2026-06-13T10:36:10.8457463Z             },
2026-06-13T10:36:10.8457547Z             {
2026-06-13T10:36:10.8457653Z               "path": "crates/spt-term/src/digest.rs",
2026-06-13T10:36:10.8457739Z               "line": 233
2026-06-13T10:36:10.8457834Z             },
2026-06-13T10:36:10.8457910Z             {
2026-06-13T10:36:10.8458021Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8458102Z               "line": 926
2026-06-13T10:36:10.8458181Z             }
2026-06-13T10:36:10.8458263Z           ]
2026-06-13T10:36:10.8458350Z         },
2026-06-13T10:36:10.8458430Z         "int": {
2026-06-13T10:36:10.8458588Z           "complete": true,
2026-06-13T10:36:10.8458674Z           "evidence": [
2026-06-13T10:36:10.8458754Z             {
2026-06-13T10:36:10.8458869Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-13T10:36:10.8459036Z               "line": 18
2026-06-13T10:36:10.8459117Z             }
2026-06-13T10:36:10.8459202Z           ]
2026-06-13T10:36:10.8459285Z         },
2026-06-13T10:36:10.8459365Z         "unit": {
2026-06-13T10:36:10.8459450Z           "complete": true,
2026-06-13T10:36:10.8459535Z           "evidence": [
2026-06-13T10:36:10.8459621Z             {
2026-06-13T10:36:10.8459733Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T10:36:10.8459924Z               "line": 259
2026-06-13T10:36:10.8460011Z             },
2026-06-13T10:36:10.8460095Z             {
2026-06-13T10:36:10.8460201Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T10:36:10.8460282Z               "line": 277
2026-06-13T10:36:10.8460367Z             },
2026-06-13T10:36:10.8460458Z             {
2026-06-13T10:36:10.8460569Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T10:36:10.8460649Z               "line": 289
2026-06-13T10:36:10.8460729Z             },
2026-06-13T10:36:10.8460816Z             {
2026-06-13T10:36:10.8460930Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T10:36:10.8461002Z               "line": 304
2026-06-13T10:36:10.8461087Z             },
2026-06-13T10:36:10.8461164Z             {
2026-06-13T10:36:10.8461264Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T10:36:10.8461345Z               "line": 320
2026-06-13T10:36:10.8461426Z             },
2026-06-13T10:36:10.8461508Z             {
2026-06-13T10:36:10.8461621Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T10:36:10.8461707Z               "line": 346
2026-06-13T10:36:10.8461785Z             },
2026-06-13T10:36:10.8461870Z             {
2026-06-13T10:36:10.8461974Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T10:36:10.8462051Z               "line": 361
2026-06-13T10:36:10.8462133Z             },
2026-06-13T10:36:10.8462213Z             {
2026-06-13T10:36:10.8462326Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T10:36:10.8462417Z               "line": 391
2026-06-13T10:36:10.8462493Z             },
2026-06-13T10:36:10.8462581Z             {
2026-06-13T10:36:10.8462704Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-13T10:36:10.8462791Z               "line": 365
2026-06-13T10:36:10.8462873Z             },
2026-06-13T10:36:10.8462944Z             {
2026-06-13T10:36:10.8463058Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-13T10:36:10.8463140Z               "line": 382
2026-06-13T10:36:10.8463211Z             },
2026-06-13T10:36:10.8463301Z             {
2026-06-13T10:36:10.8463417Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-13T10:36:10.8463502Z               "line": 411
2026-06-13T10:36:10.8463582Z             },
2026-06-13T10:36:10.8463673Z             {
2026-06-13T10:36:10.8463779Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-13T10:36:10.8463864Z               "line": 428
2026-06-13T10:36:10.8463945Z             },
2026-06-13T10:36:10.8464026Z             {
2026-06-13T10:36:10.8464141Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.8464221Z               "line": 902
2026-06-13T10:36:10.8464307Z             },
2026-06-13T10:36:10.8464395Z             {
2026-06-13T10:36:10.8464512Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.8464603Z               "line": 909
2026-06-13T10:36:10.8464690Z             },
2026-06-13T10:36:10.8464771Z             {
2026-06-13T10:36:10.8464883Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.8464964Z               "line": 924
2026-06-13T10:36:10.8465050Z             },
2026-06-13T10:36:10.8465125Z             {
2026-06-13T10:36:10.8465233Z               "path": "crates/spt-term/src/digest.rs",
2026-06-13T10:36:10.8465416Z               "line": 420
2026-06-13T10:36:10.8465491Z             },
2026-06-13T10:36:10.8465572Z             {
2026-06-13T10:36:10.8465692Z               "path": "crates/spt-term/src/digest.rs",
2026-06-13T10:36:10.8465783Z               "line": 458
2026-06-13T10:36:10.8465868Z             },
2026-06-13T10:36:10.8465954Z             {
2026-06-13T10:36:10.8466064Z               "path": "crates/spt-term/src/digest.rs",
2026-06-13T10:36:10.8466154Z               "line": 471
2026-06-13T10:36:10.8466235Z             },
2026-06-13T10:36:10.8466326Z             {
2026-06-13T10:36:10.8466507Z               "path": "crates/spt-term/src/digest.rs",
2026-06-13T10:36:10.8466593Z               "line": 497
2026-06-13T10:36:10.8466679Z             },
2026-06-13T10:36:10.8466760Z             {
2026-06-13T10:36:10.8466869Z               "path": "crates/spt-term/src/digest.rs",
2026-06-13T10:36:10.8466956Z               "line": 524
2026-06-13T10:36:10.8467046Z             },
2026-06-13T10:36:10.8467141Z             {
2026-06-13T10:36:10.8467252Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-13T10:36:10.8467342Z               "line": 32
2026-06-13T10:36:10.8467427Z             },
2026-06-13T10:36:10.8467519Z             {
2026-06-13T10:36:10.8467619Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8467713Z               "line": 7374
2026-06-13T10:36:10.8467798Z             }
2026-06-13T10:36:10.8467879Z           ]
2026-06-13T10:36:10.8467961Z         }
2026-06-13T10:36:10.8468042Z       }
2026-06-13T10:36:10.8468131Z     },
2026-06-13T10:36:10.8468218Z     {
2026-06-13T10:36:10.8468308Z       "id": "REQ-UPD-1",
2026-06-13T10:36:10.8468427Z       "title": "Peer-propagated update over P2P",
2026-06-13T10:36:10.8468528Z       "requiredStages": [
2026-06-13T10:36:10.8468614Z         "impl",
2026-06-13T10:36:10.8468695Z         "unit",
2026-06-13T10:36:10.8468785Z         "int"
2026-06-13T10:36:10.8468862Z       ],
2026-06-13T10:36:10.8469029Z       "stages": {
2026-06-13T10:36:10.8469114Z         "doc": {
2026-06-13T10:36:10.8469215Z           "complete": false,
2026-06-13T10:36:10.8469304Z           "evidence": []
2026-06-13T10:36:10.8469390Z         },
2026-06-13T10:36:10.8469478Z         "impl": {
2026-06-13T10:36:10.8469568Z           "complete": true,
2026-06-13T10:36:10.8469662Z           "evidence": [
2026-06-13T10:36:10.8469744Z             {
2026-06-13T10:36:10.8469864Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T10:36:10.8469957Z               "line": 28
2026-06-13T10:36:10.8470038Z             },
2026-06-13T10:36:10.8470124Z             {
2026-06-13T10:36:10.8470228Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T10:36:10.8470327Z               "line": 103
2026-06-13T10:36:10.8470412Z             },
2026-06-13T10:36:10.8470494Z             {
2026-06-13T10:36:10.8470613Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T10:36:10.8470703Z               "line": 342
2026-06-13T10:36:10.8470794Z             },
2026-06-13T10:36:10.8470875Z             {
2026-06-13T10:36:10.8470994Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8471081Z               "line": 22
2026-06-13T10:36:10.8471166Z             },
2026-06-13T10:36:10.8471257Z             {
2026-06-13T10:36:10.8471371Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8471463Z               "line": 207
2026-06-13T10:36:10.8471543Z             },
2026-06-13T10:36:10.8471628Z             {
2026-06-13T10:36:10.8471744Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8471838Z               "line": 283
2026-06-13T10:36:10.8471919Z             },
2026-06-13T10:36:10.8472000Z             {
2026-06-13T10:36:10.8472116Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8472205Z               "line": 340
2026-06-13T10:36:10.8472291Z             },
2026-06-13T10:36:10.8472378Z             {
2026-06-13T10:36:10.8472616Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-13T10:36:10.8472703Z               "line": 37
2026-06-13T10:36:10.8472787Z             }
2026-06-13T10:36:10.8472872Z           ]
2026-06-13T10:36:10.8472952Z         },
2026-06-13T10:36:10.8473044Z         "int": {
2026-06-13T10:36:10.8473142Z           "complete": true,
2026-06-13T10:36:10.8473227Z           "evidence": [
2026-06-13T10:36:10.8473318Z             {
2026-06-13T10:36:10.8473443Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T10:36:10.8473532Z               "line": 207
2026-06-13T10:36:10.8473618Z             },
2026-06-13T10:36:10.8473799Z             {
2026-06-13T10:36:10.8473923Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T10:36:10.8474005Z               "line": 987
2026-06-13T10:36:10.8474096Z             }
2026-06-13T10:36:10.8474176Z           ]
2026-06-13T10:36:10.8474262Z         },
2026-06-13T10:36:10.8474344Z         "unit": {
2026-06-13T10:36:10.8474443Z           "complete": true,
2026-06-13T10:36:10.8474543Z           "evidence": [
2026-06-13T10:36:10.8474621Z             {
2026-06-13T10:36:10.8474739Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8474829Z               "line": 490
2026-06-13T10:36:10.8474911Z             },
2026-06-13T10:36:10.8474992Z             {
2026-06-13T10:36:10.8475110Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8475202Z               "line": 616
2026-06-13T10:36:10.8475279Z             },
2026-06-13T10:36:10.8475363Z             {
2026-06-13T10:36:10.8475490Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-13T10:36:10.8475587Z               "line": 277
2026-06-13T10:36:10.8475666Z             },
2026-06-13T10:36:10.8475761Z             {
2026-06-13T10:36:10.8475880Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-13T10:36:10.8475971Z               "line": 124
2026-06-13T10:36:10.8476056Z             },
2026-06-13T10:36:10.8476141Z             {
2026-06-13T10:36:10.8476262Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-13T10:36:10.8476352Z               "line": 200
2026-06-13T10:36:10.8476437Z             }
2026-06-13T10:36:10.8476519Z           ]
2026-06-13T10:36:10.8476600Z         }
2026-06-13T10:36:10.8476686Z       }
2026-06-13T10:36:10.8476766Z     },
2026-06-13T10:36:10.8476849Z     {
2026-06-13T10:36:10.8476939Z       "id": "REQ-UPD-2",
2026-06-13T10:36:10.8477090Z       "title": "All binaries signature-verified before handoff",
2026-06-13T10:36:10.8477192Z       "requiredStages": [
2026-06-13T10:36:10.8477277Z         "impl",
2026-06-13T10:36:10.8477367Z         "unit"
2026-06-13T10:36:10.8477449Z       ],
2026-06-13T10:36:10.8477526Z       "stages": {
2026-06-13T10:36:10.8477611Z         "doc": {
2026-06-13T10:36:10.8477696Z           "complete": false,
2026-06-13T10:36:10.8477788Z           "evidence": []
2026-06-13T10:36:10.8477864Z         },
2026-06-13T10:36:10.8477949Z         "impl": {
2026-06-13T10:36:10.8478040Z           "complete": true,
2026-06-13T10:36:10.8478137Z           "evidence": [
2026-06-13T10:36:10.8478212Z             {
2026-06-13T10:36:10.8478329Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T10:36:10.8478420Z               "line": 343
2026-06-13T10:36:10.8478497Z             },
2026-06-13T10:36:10.8478574Z             {
2026-06-13T10:36:10.8478691Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T10:36:10.8478783Z               "line": 476
2026-06-13T10:36:10.8478864Z             },
2026-06-13T10:36:10.8478935Z             {
2026-06-13T10:36:10.8479131Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8479217Z               "line": 29
2026-06-13T10:36:10.8479306Z             },
2026-06-13T10:36:10.8479383Z             {
2026-06-13T10:36:10.8479494Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8479593Z               "line": 271
2026-06-13T10:36:10.8479664Z             },
2026-06-13T10:36:10.8479846Z             {
2026-06-13T10:36:10.8479950Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8480038Z               "line": 288
2026-06-13T10:36:10.8480123Z             },
2026-06-13T10:36:10.8480203Z             {
2026-06-13T10:36:10.8480318Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8480410Z               "line": 408
2026-06-13T10:36:10.8480489Z             },
2026-06-13T10:36:10.8480570Z             {
2026-06-13T10:36:10.8480689Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8480765Z               "line": 540
2026-06-13T10:36:10.8480939Z             },
2026-06-13T10:36:10.8481016Z             {
2026-06-13T10:36:10.8481136Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T10:36:10.8481220Z               "line": 155
2026-06-13T10:36:10.8481301Z             }
2026-06-13T10:36:10.8481388Z           ]
2026-06-13T10:36:10.8481469Z         },
2026-06-13T10:36:10.8481544Z         "int": {
2026-06-13T10:36:10.8481641Z           "complete": false,
2026-06-13T10:36:10.8481731Z           "evidence": []
2026-06-13T10:36:10.8481812Z         },
2026-06-13T10:36:10.8481897Z         "unit": {
2026-06-13T10:36:10.8481984Z           "complete": true,
2026-06-13T10:36:10.8482060Z           "evidence": [
2026-06-13T10:36:10.8482150Z             {
2026-06-13T10:36:10.8482255Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8482342Z               "line": 697
2026-06-13T10:36:10.8482432Z             },
2026-06-13T10:36:10.8482508Z             {
2026-06-13T10:36:10.8482614Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8482713Z               "line": 758
2026-06-13T10:36:10.8482785Z             },
2026-06-13T10:36:10.8482866Z             {
2026-06-13T10:36:10.8482976Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8483065Z               "line": 772
2026-06-13T10:36:10.8483137Z             },
2026-06-13T10:36:10.8483220Z             {
2026-06-13T10:36:10.8483324Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8483408Z               "line": 788
2026-06-13T10:36:10.8483494Z             },
2026-06-13T10:36:10.8483575Z             {
2026-06-13T10:36:10.8483693Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8483773Z               "line": 879
2026-06-13T10:36:10.8483854Z             },
2026-06-13T10:36:10.8483936Z             {
2026-06-13T10:36:10.8484045Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T10:36:10.8484135Z               "line": 414
2026-06-13T10:36:10.8484222Z             },
2026-06-13T10:36:10.8484298Z             {
2026-06-13T10:36:10.8484407Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T10:36:10.8484498Z               "line": 427
2026-06-13T10:36:10.8484580Z             },
2026-06-13T10:36:10.8484661Z             {
2026-06-13T10:36:10.8484783Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-13T10:36:10.8484871Z               "line": 410
2026-06-13T10:36:10.8484950Z             }
2026-06-13T10:36:10.8485031Z           ]
2026-06-13T10:36:10.8485117Z         }
2026-06-13T10:36:10.8485190Z       }
2026-06-13T10:36:10.8485265Z     },
2026-06-13T10:36:10.8485342Z     {
2026-06-13T10:36:10.8485427Z       "id": "REQ-UPD-3",
2026-06-13T10:36:10.8485599Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-13T10:36:10.8485685Z       "requiredStages": [
2026-06-13T10:36:10.8485777Z         "impl",
2026-06-13T10:36:10.8485858Z         "unit",
2026-06-13T10:36:10.8485937Z         "int"
2026-06-13T10:36:10.8486027Z       ],
2026-06-13T10:36:10.8486104Z       "stages": {
2026-06-13T10:36:10.8486189Z         "doc": {
2026-06-13T10:36:10.8486273Z           "complete": false,
2026-06-13T10:36:10.8486368Z           "evidence": []
2026-06-13T10:36:10.8486454Z         },
2026-06-13T10:36:10.8486531Z         "impl": {
2026-06-13T10:36:10.8486621Z           "complete": true,
2026-06-13T10:36:10.8486865Z           "evidence": [
2026-06-13T10:36:10.8486950Z             {
2026-06-13T10:36:10.8487069Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T10:36:10.8487155Z               "line": 40
2026-06-13T10:36:10.8487236Z             },
2026-06-13T10:36:10.8487326Z             {
2026-06-13T10:36:10.8487442Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T10:36:10.8487522Z               "line": 87
2026-06-13T10:36:10.8487603Z             },
2026-06-13T10:36:10.8487689Z             {
2026-06-13T10:36:10.8487804Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T10:36:10.8487965Z               "line": 935
2026-06-13T10:36:10.8488043Z             },
2026-06-13T10:36:10.8488137Z             {
2026-06-13T10:36:10.8488247Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T10:36:10.8488334Z               "line": 717
2026-06-13T10:36:10.8488415Z             },
2026-06-13T10:36:10.8488504Z             {
2026-06-13T10:36:10.8488624Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T10:36:10.8488702Z               "line": 26
2026-06-13T10:36:10.8488786Z             },
2026-06-13T10:36:10.8488866Z             {
2026-06-13T10:36:10.8489077Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T10:36:10.8489171Z               "line": 114
2026-06-13T10:36:10.8489247Z             },
2026-06-13T10:36:10.8489329Z             {
2026-06-13T10:36:10.8489434Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T10:36:10.8489514Z               "line": 246
2026-06-13T10:36:10.8489600Z             },
2026-06-13T10:36:10.8489687Z             {
2026-06-13T10:36:10.8489792Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8489876Z               "line": 1906
2026-06-13T10:36:10.8489958Z             }
2026-06-13T10:36:10.8490039Z           ]
2026-06-13T10:36:10.8490115Z         },
2026-06-13T10:36:10.8490196Z         "int": {
2026-06-13T10:36:10.8490288Z           "complete": true,
2026-06-13T10:36:10.8490383Z           "evidence": [
2026-06-13T10:36:10.8490454Z             {
2026-06-13T10:36:10.8490578Z               "path": "crates/spt/tests/brain_survive.rs",
2026-06-13T10:36:10.8490664Z               "line": 58
2026-06-13T10:36:10.8490749Z             }
2026-06-13T10:36:10.8490816Z           ]
2026-06-13T10:36:10.8490902Z         },
2026-06-13T10:36:10.8490975Z         "unit": {
2026-06-13T10:36:10.8491073Z           "complete": true,
2026-06-13T10:36:10.8491163Z           "evidence": [
2026-06-13T10:36:10.8491235Z             {
2026-06-13T10:36:10.8491358Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T10:36:10.8491451Z               "line": 532
2026-06-13T10:36:10.8491527Z             },
2026-06-13T10:36:10.8491604Z             {
2026-06-13T10:36:10.8491719Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T10:36:10.8491809Z               "line": 582
2026-06-13T10:36:10.8491886Z             },
2026-06-13T10:36:10.8491963Z             {
2026-06-13T10:36:10.8492076Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T10:36:10.8492171Z               "line": 650
2026-06-13T10:36:10.8492254Z             },
2026-06-13T10:36:10.8492329Z             {
2026-06-13T10:36:10.8492448Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T10:36:10.8492530Z               "line": 1062
2026-06-13T10:36:10.8492606Z             },
2026-06-13T10:36:10.8492682Z             {
2026-06-13T10:36:10.8492796Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T10:36:10.8492873Z               "line": 271
2026-06-13T10:36:10.8492968Z             },
2026-06-13T10:36:10.8493049Z             {
2026-06-13T10:36:10.8493160Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T10:36:10.8493241Z               "line": 295
2026-06-13T10:36:10.8493315Z             },
2026-06-13T10:36:10.8493392Z             {
2026-06-13T10:36:10.8493503Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T10:36:10.8493702Z               "line": 316
2026-06-13T10:36:10.8493780Z             },
2026-06-13T10:36:10.8493856Z             {
2026-06-13T10:36:10.8493973Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T10:36:10.8494049Z               "line": 332
2026-06-13T10:36:10.8494135Z             }
2026-06-13T10:36:10.8494220Z           ]
2026-06-13T10:36:10.8494290Z         }
2026-06-13T10:36:10.8494371Z       }
2026-06-13T10:36:10.8494448Z     },
2026-06-13T10:36:10.8494524Z     {
2026-06-13T10:36:10.8494614Z       "id": "REQ-UPD-4",
2026-06-13T10:36:10.8494806Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-13T10:36:10.8495015Z       "requiredStages": [
2026-06-13T10:36:10.8495102Z         "impl",
2026-06-13T10:36:10.8495187Z         "unit"
2026-06-13T10:36:10.8495263Z       ],
2026-06-13T10:36:10.8495353Z       "stages": {
2026-06-13T10:36:10.8495431Z         "doc": {
2026-06-13T10:36:10.8495530Z           "complete": false,
2026-06-13T10:36:10.8495620Z           "evidence": []
2026-06-13T10:36:10.8495717Z         },
2026-06-13T10:36:10.8495802Z         "impl": {
2026-06-13T10:36:10.8495897Z           "complete": true,
2026-06-13T10:36:10.8495988Z           "evidence": [
2026-06-13T10:36:10.8496070Z             {
2026-06-13T10:36:10.8496202Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T10:36:10.8496288Z               "line": 41
2026-06-13T10:36:10.8498821Z             },
2026-06-13T10:36:10.8498932Z             {
2026-06-13T10:36:10.8499174Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T10:36:10.8499271Z               "line": 88
2026-06-13T10:36:10.8499365Z             },
2026-06-13T10:36:10.8499450Z             {
2026-06-13T10:36:10.8499579Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-13T10:36:10.8499670Z               "line": 23
2026-06-13T10:36:10.8499750Z             },
2026-06-13T10:36:10.8499836Z             {
2026-06-13T10:36:10.8499951Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-13T10:36:10.8500046Z               "line": 56
2026-06-13T10:36:10.8500136Z             },
2026-06-13T10:36:10.8500219Z             {
2026-06-13T10:36:10.8500337Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-13T10:36:10.8500432Z               "line": 77
2026-06-13T10:36:10.8500513Z             },
2026-06-13T10:36:10.8500594Z             {
2026-06-13T10:36:10.8500713Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T10:36:10.8500814Z               "line": 186
2026-06-13T10:36:10.8500895Z             },
2026-06-13T10:36:10.8500976Z             {
2026-06-13T10:36:10.8501099Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T10:36:10.8501187Z               "line": 108
2026-06-13T10:36:10.8501272Z             },
2026-06-13T10:36:10.8501352Z             {
2026-06-13T10:36:10.8501467Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T10:36:10.8501553Z               "line": 170
2026-06-13T10:36:10.8501638Z             },
2026-06-13T10:36:10.8501738Z             {
2026-06-13T10:36:10.8501842Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8501932Z               "line": 1905
2026-06-13T10:36:10.8502011Z             }
2026-06-13T10:36:10.8502092Z           ]
2026-06-13T10:36:10.8502179Z         },
2026-06-13T10:36:10.8502261Z         "int": {
2026-06-13T10:36:10.8502354Z           "complete": false,
2026-06-13T10:36:10.8502441Z           "evidence": []
2026-06-13T10:36:10.8502528Z         },
2026-06-13T10:36:10.8502613Z         "unit": {
2026-06-13T10:36:10.8502712Z           "complete": true,
2026-06-13T10:36:10.8502814Z           "evidence": [
2026-06-13T10:36:10.8502894Z             {
2026-06-13T10:36:10.8503017Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T10:36:10.8503104Z               "line": 578
2026-06-13T10:36:10.8503190Z             },
2026-06-13T10:36:10.8503271Z             {
2026-06-13T10:36:10.8503390Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T10:36:10.8503618Z               "line": 703
2026-06-13T10:36:10.8503700Z             },
2026-06-13T10:36:10.8503787Z             {
2026-06-13T10:36:10.8503905Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-13T10:36:10.8503996Z               "line": 384
2026-06-13T10:36:10.8504078Z             },
2026-06-13T10:36:10.8504162Z             {
2026-06-13T10:36:10.8504281Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-13T10:36:10.8504369Z               "line": 102
2026-06-13T10:36:10.8504454Z             },
2026-06-13T10:36:10.8504533Z             {
2026-06-13T10:36:10.8504752Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-13T10:36:10.8504841Z               "line": 123
2026-06-13T10:36:10.8504926Z             },
2026-06-13T10:36:10.8505017Z             {
2026-06-13T10:36:10.8505128Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-13T10:36:10.8505217Z               "line": 142
2026-06-13T10:36:10.8505298Z             },
2026-06-13T10:36:10.8505395Z             {
2026-06-13T10:36:10.8505513Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T10:36:10.8505598Z               "line": 386
2026-06-13T10:36:10.8505686Z             },
2026-06-13T10:36:10.8505766Z             {
2026-06-13T10:36:10.8505880Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T10:36:10.8505967Z               "line": 566
2026-06-13T10:36:10.8506052Z             },
2026-06-13T10:36:10.8506133Z             {
2026-06-13T10:36:10.8506242Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8506334Z               "line": 6051
2026-06-13T10:36:10.8506419Z             }
2026-06-13T10:36:10.8506504Z           ]
2026-06-13T10:36:10.8506592Z         }
2026-06-13T10:36:10.8506673Z       }
2026-06-13T10:36:10.8506752Z     },
2026-06-13T10:36:10.8506839Z     {
2026-06-13T10:36:10.8506930Z       "id": "REQ-UPD-5",
2026-06-13T10:36:10.8507076Z       "title": "spt-core ripple-updates registered adapters",
2026-06-13T10:36:10.8507180Z       "requiredStages": [
2026-06-13T10:36:10.8507262Z         "impl",
2026-06-13T10:36:10.8507342Z         "unit"
2026-06-13T10:36:10.8507422Z       ],
2026-06-13T10:36:10.8507511Z       "stages": {
2026-06-13T10:36:10.8507584Z         "doc": {
2026-06-13T10:36:10.8507680Z           "complete": false,
2026-06-13T10:36:10.8507779Z           "evidence": []
2026-06-13T10:36:10.8507856Z         },
2026-06-13T10:36:10.8507942Z         "impl": {
2026-06-13T10:36:10.8508037Z           "complete": true,
2026-06-13T10:36:10.8508127Z           "evidence": [
2026-06-13T10:36:10.8508214Z             {
2026-06-13T10:36:10.8508352Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T10:36:10.8508451Z               "line": 27
2026-06-13T10:36:10.8508529Z             },
2026-06-13T10:36:10.8508604Z             {
2026-06-13T10:36:10.8508732Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T10:36:10.8508814Z               "line": 82
2026-06-13T10:36:10.8508896Z             },
2026-06-13T10:36:10.8509047Z             {
2026-06-13T10:36:10.8509173Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T10:36:10.8509253Z               "line": 134
2026-06-13T10:36:10.8509334Z             },
2026-06-13T10:36:10.8509420Z             {
2026-06-13T10:36:10.8509535Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8509624Z               "line": 492
2026-06-13T10:36:10.8509701Z             },
2026-06-13T10:36:10.8509788Z             {
2026-06-13T10:36:10.8509901Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8509981Z               "line": 528
2026-06-13T10:36:10.8510062Z             }
2026-06-13T10:36:10.8510144Z           ]
2026-06-13T10:36:10.8510221Z         },
2026-06-13T10:36:10.8510306Z         "int": {
2026-06-13T10:36:10.8510401Z           "complete": false,
2026-06-13T10:36:10.8510483Z           "evidence": []
2026-06-13T10:36:10.8510564Z         },
2026-06-13T10:36:10.8510649Z         "unit": {
2026-06-13T10:36:10.8510835Z           "complete": true,
2026-06-13T10:36:10.8510926Z           "evidence": [
2026-06-13T10:36:10.8511011Z             {
2026-06-13T10:36:10.8511136Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T10:36:10.8511216Z               "line": 232
2026-06-13T10:36:10.8511297Z             },
2026-06-13T10:36:10.8511383Z             {
2026-06-13T10:36:10.8511507Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T10:36:10.8511588Z               "line": 246
2026-06-13T10:36:10.8511674Z             },
2026-06-13T10:36:10.8511756Z             {
2026-06-13T10:36:10.8511969Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T10:36:10.8512057Z               "line": 260
2026-06-13T10:36:10.8512142Z             },
2026-06-13T10:36:10.8512222Z             {
2026-06-13T10:36:10.8512345Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T10:36:10.8512426Z               "line": 274
2026-06-13T10:36:10.8512506Z             },
2026-06-13T10:36:10.8512571Z             {
2026-06-13T10:36:10.8512696Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T10:36:10.8512782Z               "line": 308
2026-06-13T10:36:10.8512863Z             },
2026-06-13T10:36:10.8512948Z             {
2026-06-13T10:36:10.8513069Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T10:36:10.8513149Z               "line": 866
2026-06-13T10:36:10.8513234Z             }
2026-06-13T10:36:10.8513316Z           ]
2026-06-13T10:36:10.8513402Z         }
2026-06-13T10:36:10.8513487Z       }
2026-06-13T10:36:10.8513577Z     },
2026-06-13T10:36:10.8513651Z     {
2026-06-13T10:36:10.8513741Z       "id": "REQ-UPD-6",
2026-06-13T10:36:10.8514531Z       "title": "Platform-targeted update sets and debug rollout: signed multi-platform update metadata, recipient platform selection, channel-scoped monotonic counters, debug-channel opt-in via release-key overlay, local staging plus pull-based peer propagation, and maintainer-only convergence tooling (ADR-0016)",
2026-06-13T10:36:10.8514638Z       "requiredStages": [
2026-06-13T10:36:10.8514722Z         "doc",
2026-06-13T10:36:10.8514799Z         "impl",
2026-06-13T10:36:10.8514880Z         "unit",
2026-06-13T10:36:10.8514962Z         "int"
2026-06-13T10:36:10.8515047Z       ],
2026-06-13T10:36:10.8515126Z       "stages": {
2026-06-13T10:36:10.8515212Z         "doc": {
2026-06-13T10:36:10.8515308Z           "complete": true,
2026-06-13T10:36:10.8515387Z           "evidence": [
2026-06-13T10:36:10.8515472Z             {
2026-06-13T10:36:10.8515591Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-13T10:36:10.8515688Z               "line": 3
2026-06-13T10:36:10.8515767Z             },
2026-06-13T10:36:10.8515853Z             {
2026-06-13T10:36:10.8515955Z               "path": "docs/DEBUG-ROLLOUT.md",
2026-06-13T10:36:10.8516040Z               "line": 3
2026-06-13T10:36:10.8516125Z             },
2026-06-13T10:36:10.8516207Z             {
2026-06-13T10:36:10.8516355Z               "path": "docs/adr/0016-platform-targeted-update-sets.md",
2026-06-13T10:36:10.8516444Z               "line": 3
2026-06-13T10:36:10.8516527Z             }
2026-06-13T10:36:10.8516617Z           ]
2026-06-13T10:36:10.8516694Z         },
2026-06-13T10:36:10.8516784Z         "impl": {
2026-06-13T10:36:10.8516875Z           "complete": true,
2026-06-13T10:36:10.8516965Z           "evidence": [
2026-06-13T10:36:10.8517050Z             {
2026-06-13T10:36:10.8517171Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T10:36:10.8517261Z               "line": 76
2026-06-13T10:36:10.8517346Z             },
2026-06-13T10:36:10.8517428Z             {
2026-06-13T10:36:10.8517543Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T10:36:10.8517632Z               "line": 212
2026-06-13T10:36:10.8517713Z             },
2026-06-13T10:36:10.8517794Z             {
2026-06-13T10:36:10.8517912Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T10:36:10.8518072Z               "line": 69
2026-06-13T10:36:10.8518158Z             },
2026-06-13T10:36:10.8518236Z             {
2026-06-13T10:36:10.8518344Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T10:36:10.8518430Z               "line": 133
2026-06-13T10:36:10.8518512Z             },
2026-06-13T10:36:10.8518593Z             {
2026-06-13T10:36:10.8518706Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T10:36:10.8518793Z               "line": 243
2026-06-13T10:36:10.8518874Z             },
2026-06-13T10:36:10.8519035Z             {
2026-06-13T10:36:10.8519155Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T10:36:10.8519331Z               "line": 406
2026-06-13T10:36:10.8519413Z             },
2026-06-13T10:36:10.8519494Z             {
2026-06-13T10:36:10.8519612Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T10:36:10.8519694Z               "line": 534
2026-06-13T10:36:10.8519771Z             },
2026-06-13T10:36:10.8519860Z             {
2026-06-13T10:36:10.8519966Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T10:36:10.8520052Z               "line": 548
2026-06-13T10:36:10.8520128Z             },
2026-06-13T10:36:10.8520203Z             {
2026-06-13T10:36:10.8520314Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T10:36:10.8520396Z               "line": 603
2026-06-13T10:36:10.8520466Z             },
2026-06-13T10:36:10.8520546Z             {
2026-06-13T10:36:10.8520665Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T10:36:10.8520742Z               "line": 634
2026-06-13T10:36:10.8520828Z             },
2026-06-13T10:36:10.8520899Z             {
2026-06-13T10:36:10.8521023Z               "path": "crates/spt-daemon/src/pump/update.rs",
2026-06-13T10:36:10.8521100Z               "line": 137
2026-06-13T10:36:10.8521180Z             },
2026-06-13T10:36:10.8521256Z             {
2026-06-13T10:36:10.8521376Z               "path": "crates/spt-daemon/src/pump/update.rs",
2026-06-13T10:36:10.8521472Z               "line": 184
2026-06-13T10:36:10.8521547Z             },
2026-06-13T10:36:10.8521629Z             {
2026-06-13T10:36:10.8521743Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8521829Z               "line": 78
2026-06-13T10:36:10.8521909Z             },
2026-06-13T10:36:10.8521997Z             {
2026-06-13T10:36:10.8522115Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8522210Z               "line": 114
2026-06-13T10:36:10.8522288Z             },
2026-06-13T10:36:10.8522368Z             {
2026-06-13T10:36:10.8522487Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8522578Z               "line": 185
2026-06-13T10:36:10.8522650Z             },
2026-06-13T10:36:10.8522734Z             {
2026-06-13T10:36:10.8522848Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8522934Z               "line": 260
2026-06-13T10:36:10.8523028Z             },
2026-06-13T10:36:10.8523104Z             {
2026-06-13T10:36:10.8523222Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8523314Z               "line": 292
2026-06-13T10:36:10.8523385Z             },
2026-06-13T10:36:10.8523461Z             {
2026-06-13T10:36:10.8523576Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8523653Z               "line": 323
2026-06-13T10:36:10.8523728Z             },
2026-06-13T10:36:10.8523808Z             {
2026-06-13T10:36:10.8523929Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8524009Z               "line": 346
2026-06-13T10:36:10.8524090Z             },
2026-06-13T10:36:10.8524176Z             {
2026-06-13T10:36:10.8524291Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8524386Z               "line": 388
2026-06-13T10:36:10.8524462Z             },
2026-06-13T10:36:10.8524535Z             {
2026-06-13T10:36:10.8524648Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8524840Z               "line": 398
2026-06-13T10:36:10.8524916Z             },
2026-06-13T10:36:10.8524996Z             {
2026-06-13T10:36:10.8525106Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8525198Z               "line": 410
2026-06-13T10:36:10.8525282Z             },
2026-06-13T10:36:10.8525359Z             {
2026-06-13T10:36:10.8525474Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8525551Z               "line": 420
2026-06-13T10:36:10.8525630Z             },
2026-06-13T10:36:10.8525796Z             {
2026-06-13T10:36:10.8525914Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8526003Z               "line": 439
2026-06-13T10:36:10.8526080Z             },
2026-06-13T10:36:10.8526161Z             {
2026-06-13T10:36:10.8526276Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8526366Z               "line": 449
2026-06-13T10:36:10.8526448Z             },
2026-06-13T10:36:10.8526534Z             {
2026-06-13T10:36:10.8526652Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8526733Z               "line": 94
2026-06-13T10:36:10.8526815Z             },
2026-06-13T10:36:10.8526891Z             {
2026-06-13T10:36:10.8527004Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8527087Z               "line": 120
2026-06-13T10:36:10.8527163Z             },
2026-06-13T10:36:10.8527244Z             {
2026-06-13T10:36:10.8527363Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8527454Z               "line": 135
2026-06-13T10:36:10.8527534Z             },
2026-06-13T10:36:10.8527611Z             {
2026-06-13T10:36:10.8527722Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8527817Z               "line": 162
2026-06-13T10:36:10.8527896Z             },
2026-06-13T10:36:10.8527968Z             {
2026-06-13T10:36:10.8528089Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8528169Z               "line": 174
2026-06-13T10:36:10.8528244Z             },
2026-06-13T10:36:10.8528334Z             {
2026-06-13T10:36:10.8528449Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8528542Z               "line": 185
2026-06-13T10:36:10.8528618Z             },
2026-06-13T10:36:10.8528709Z             {
2026-06-13T10:36:10.8528815Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8528904Z               "line": 451
2026-06-13T10:36:10.8529067Z             },
2026-06-13T10:36:10.8529153Z             {
2026-06-13T10:36:10.8529271Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8529353Z               "line": 555
2026-06-13T10:36:10.8529429Z             },
2026-06-13T10:36:10.8529505Z             {
2026-06-13T10:36:10.8529625Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T10:36:10.8529711Z               "line": 171
2026-06-13T10:36:10.8529796Z             },
2026-06-13T10:36:10.8529872Z             {
2026-06-13T10:36:10.8529983Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-13T10:36:10.8530077Z               "line": 65
2026-06-13T10:36:10.8530153Z             },
2026-06-13T10:36:10.8530239Z             {
2026-06-13T10:36:10.8530350Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-13T10:36:10.8530425Z               "line": 71
2026-06-13T10:36:10.8530501Z             },
2026-06-13T10:36:10.8530574Z             {
2026-06-13T10:36:10.8530679Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-13T10:36:10.8530768Z               "line": 77
2026-06-13T10:36:10.8530855Z             },
2026-06-13T10:36:10.8530927Z             {
2026-06-13T10:36:10.8531027Z               "path": "crates/xtask/src/main.rs",
2026-06-13T10:36:10.8531121Z               "line": 778
2026-06-13T10:36:10.8531201Z             },
2026-06-13T10:36:10.8531278Z             {
2026-06-13T10:36:10.8531473Z               "path": "crates/xtask/src/main.rs",
2026-06-13T10:36:10.8531569Z               "line": 795
2026-06-13T10:36:10.8531655Z             },
2026-06-13T10:36:10.8531731Z             {
2026-06-13T10:36:10.8531835Z               "path": "crates/xtask/src/main.rs",
2026-06-13T10:36:10.8531923Z               "line": 838
2026-06-13T10:36:10.8531993Z             },
2026-06-13T10:36:10.8532074Z             {
2026-06-13T10:36:10.8532175Z               "path": "crates/xtask/src/main.rs",
2026-06-13T10:36:10.8532266Z               "line": 981
2026-06-13T10:36:10.8532341Z             },
2026-06-13T10:36:10.8532417Z             {
2026-06-13T10:36:10.8532651Z               "path": "crates/xtask/src/main.rs",
2026-06-13T10:36:10.8532742Z               "line": 1131
2026-06-13T10:36:10.8532828Z             }
2026-06-13T10:36:10.8532905Z           ]
2026-06-13T10:36:10.8532989Z         },
2026-06-13T10:36:10.8533061Z         "int": {
2026-06-13T10:36:10.8533153Z           "complete": true,
2026-06-13T10:36:10.8533247Z           "evidence": [
2026-06-13T10:36:10.8533328Z             {
2026-06-13T10:36:10.8533446Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-13T10:36:10.8533537Z               "line": 569
2026-06-13T10:36:10.8533621Z             },
2026-06-13T10:36:10.8533697Z             {
2026-06-13T10:36:10.8533811Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-13T10:36:10.8533898Z               "line": 135
2026-06-13T10:36:10.8533973Z             }
2026-06-13T10:36:10.8534049Z           ]
2026-06-13T10:36:10.8534136Z         },
2026-06-13T10:36:10.8534217Z         "unit": {
2026-06-13T10:36:10.8534307Z           "complete": true,
2026-06-13T10:36:10.8534402Z           "evidence": [
2026-06-13T10:36:10.8534475Z             {
2026-06-13T10:36:10.8534593Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T10:36:10.8534688Z               "line": 623
2026-06-13T10:36:10.8534761Z             },
2026-06-13T10:36:10.8534837Z             {
2026-06-13T10:36:10.8534960Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T10:36:10.8535041Z               "line": 672
2026-06-13T10:36:10.8535123Z             },
2026-06-13T10:36:10.8535194Z             {
2026-06-13T10:36:10.8535313Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T10:36:10.8535400Z               "line": 696
2026-06-13T10:36:10.8535485Z             },
2026-06-13T10:36:10.8535561Z             {
2026-06-13T10:36:10.8535681Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8535762Z               "line": 513
2026-06-13T10:36:10.8535856Z             },
2026-06-13T10:36:10.8535943Z             {
2026-06-13T10:36:10.8536059Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8536148Z               "line": 638
2026-06-13T10:36:10.8536228Z             },
2026-06-13T10:36:10.8536308Z             {
2026-06-13T10:36:10.8536423Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8536512Z               "line": 675
2026-06-13T10:36:10.8536606Z             },
2026-06-13T10:36:10.8536688Z             {
2026-06-13T10:36:10.8536803Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8536897Z               "line": 894
2026-06-13T10:36:10.8536983Z             },
2026-06-13T10:36:10.8537065Z             {
2026-06-13T10:36:10.8537179Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8537269Z               "line": 916
2026-06-13T10:36:10.8537347Z             },
2026-06-13T10:36:10.8537432Z             {
2026-06-13T10:36:10.8537546Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8537642Z               "line": 933
2026-06-13T10:36:10.8537728Z             },
2026-06-13T10:36:10.8537809Z             {
2026-06-13T10:36:10.8537932Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8538019Z               "line": 948
2026-06-13T10:36:10.8538108Z             },
2026-06-13T10:36:10.8538185Z             {
2026-06-13T10:36:10.8538386Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8538476Z               "line": 974
2026-06-13T10:36:10.8538562Z             },
2026-06-13T10:36:10.8538649Z             {
2026-06-13T10:36:10.8538762Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T10:36:10.8538847Z               "line": 457
2026-06-13T10:36:10.8538928Z             },
2026-06-13T10:36:10.8539111Z             {
2026-06-13T10:36:10.8539245Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-13T10:36:10.8539331Z               "line": 338
2026-06-13T10:36:10.8539417Z             },
2026-06-13T10:36:10.8539604Z             {
2026-06-13T10:36:10.8539713Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8539798Z               "line": 8111
2026-06-13T10:36:10.8539885Z             },
2026-06-13T10:36:10.8539970Z             {
2026-06-13T10:36:10.8540075Z               "path": "crates/xtask/src/main.rs",
2026-06-13T10:36:10.8540165Z               "line": 1260
2026-06-13T10:36:10.8540252Z             },
2026-06-13T10:36:10.8540337Z             {
2026-06-13T10:36:10.8540451Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-13T10:36:10.8540543Z               "line": 130
2026-06-13T10:36:10.8540628Z             }
2026-06-13T10:36:10.8540705Z           ]
2026-06-13T10:36:10.8540790Z         }
2026-06-13T10:36:10.8540867Z       }
2026-06-13T10:36:10.8540957Z     },
2026-06-13T10:36:10.8541033Z     {
2026-06-13T10:36:10.8541129Z       "id": "REQ-UPD-7",
2026-06-13T10:36:10.8543187Z       "title": "Origin-source update bootstrap (`spt update fetch`): pull the latest signed release directly from the GitHub release origin (`SaberMage/spt-releases`) — the per-platform artifact + its `<asset>.release.json` SignedRelease metadata — and stage it through the EXISTING verify→stage pipeline (the same `plan_verified` gate: two-key signature + channel + monotonic rollback floor + SHA-256), after which the normal consent-notif / `spt update apply` flow is unchanged. Closes the peer-only-discovery gap (REQ-UPD-1): a first-in-fleet / isolated node can update with no peer to pull from. The signed-release anchor keeps the GitHub transport untrusted-but-verified.",
2026-06-13T10:36:10.8543302Z       "requiredStages": [
2026-06-13T10:36:10.8543393Z         "impl",
2026-06-13T10:36:10.8543479Z         "unit"
2026-06-13T10:36:10.8543564Z       ],
2026-06-13T10:36:10.8543650Z       "stages": {
2026-06-13T10:36:10.8543732Z         "doc": {
2026-06-13T10:36:10.8543831Z           "complete": false,
2026-06-13T10:36:10.8543916Z           "evidence": []
2026-06-13T10:36:10.8544001Z         },
2026-06-13T10:36:10.8544097Z         "impl": {
2026-06-13T10:36:10.8544186Z           "complete": true,
2026-06-13T10:36:10.8544276Z           "evidence": [
2026-06-13T10:36:10.8544352Z             {
2026-06-13T10:36:10.8544463Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8544548Z               "line": 2010
2026-06-13T10:36:10.8544638Z             }
2026-06-13T10:36:10.8544725Z           ]
2026-06-13T10:36:10.8544806Z         },
2026-06-13T10:36:10.8544891Z         "int": {
2026-06-13T10:36:10.8544982Z           "complete": false,
2026-06-13T10:36:10.8545073Z           "evidence": []
2026-06-13T10:36:10.8545153Z         },
2026-06-13T10:36:10.8545244Z         "unit": {
2026-06-13T10:36:10.8545331Z           "complete": true,
2026-06-13T10:36:10.8545416Z           "evidence": [
2026-06-13T10:36:10.8545506Z             {
2026-06-13T10:36:10.8545606Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8545693Z               "line": 8087
2026-06-13T10:36:10.8545768Z             }
2026-06-13T10:36:10.8545859Z           ]
2026-06-13T10:36:10.8545941Z         }
2026-06-13T10:36:10.8546022Z       }
2026-06-13T10:36:10.8546107Z     },
2026-06-13T10:36:10.8546188Z     {
2026-06-13T10:36:10.8546280Z       "id": "REQ-UPD-8",
2026-06-13T10:36:10.8548702Z       "title": "Platform-safe `spt update fetch` + apply platform-guard (v0.3.1 cross-OS brick fix): `spt update fetch` stages the signed multi-platform `SignedUpdateSet` (`update-set.json` + every platform artifact it names), never a platform-blind single `SignedRelease`, so local apply selects `current_platform()` and P2P re-serve lets each peer select ITS own platform. Defense-in-depth: `apply_staged` REFUSES a staged single-release artifact unless it is platform-stamped for THIS node (an unstamped pre-v0.3.2 single, or a single stamped for another OS, fail-safe refuses — the guard that alone prevents the v0.3.1 brick where a Linux ELF was applied as `spt.exe`). UX: a friendly post-apply message (`Updated spt-core to vX.Y.Z.` + changelog URL) driven by an additive `product_version` metadata field, with a release-counter fallback when absent.",
2026-06-13T10:36:10.8549098Z       "requiredStages": [
2026-06-13T10:36:10.8549209Z         "impl",
2026-06-13T10:36:10.8549289Z         "unit"
2026-06-13T10:36:10.8549369Z       ],
2026-06-13T10:36:10.8549459Z       "stages": {
2026-06-13T10:36:10.8549535Z         "doc": {
2026-06-13T10:36:10.8549639Z           "complete": false,
2026-06-13T10:36:10.8549719Z           "evidence": []
2026-06-13T10:36:10.8549810Z         },
2026-06-13T10:36:10.8549887Z         "impl": {
2026-06-13T10:36:10.8549982Z           "complete": true,
2026-06-13T10:36:10.8550062Z           "evidence": [
2026-06-13T10:36:10.8550139Z             {
2026-06-13T10:36:10.8550273Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T10:36:10.8550362Z               "line": 77
2026-06-13T10:36:10.8550440Z             },
2026-06-13T10:36:10.8550521Z             {
2026-06-13T10:36:10.8550644Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8550735Z               "line": 49
2026-06-13T10:36:10.8550822Z             },
2026-06-13T10:36:10.8550901Z             {
2026-06-13T10:36:10.8551006Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8551089Z               "line": 152
2026-06-13T10:36:10.8551169Z             },
2026-06-13T10:36:10.8551250Z             {
2026-06-13T10:36:10.8551369Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8551456Z               "line": 215
2026-06-13T10:36:10.8551536Z             },
2026-06-13T10:36:10.8551612Z             {
2026-06-13T10:36:10.8551723Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8551809Z               "line": 230
2026-06-13T10:36:10.8551888Z             },
2026-06-13T10:36:10.8551970Z             {
2026-06-13T10:36:10.8552071Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8552152Z               "line": 247
2026-06-13T10:36:10.8552231Z             },
2026-06-13T10:36:10.8552316Z             {
2026-06-13T10:36:10.8552432Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8552513Z               "line": 269
2026-06-13T10:36:10.8552598Z             },
2026-06-13T10:36:10.8552675Z             {
2026-06-13T10:36:10.8552794Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8552879Z               "line": 66
2026-06-13T10:36:10.8552955Z             },
2026-06-13T10:36:10.8553033Z             {
2026-06-13T10:36:10.8553143Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T10:36:10.8553232Z               "line": 154
2026-06-13T10:36:10.8553309Z             },
2026-06-13T10:36:10.8553391Z             {
2026-06-13T10:36:10.8553495Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8553576Z               "line": 1884
2026-06-13T10:36:10.8553653Z             },
2026-06-13T10:36:10.8553738Z             {
2026-06-13T10:36:10.8553842Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8553929Z               "line": 1957
2026-06-13T10:36:10.8554006Z             },
2026-06-13T10:36:10.8554090Z             {
2026-06-13T10:36:10.8554195Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8554287Z               "line": 1967
2026-06-13T10:36:10.8554368Z             },
2026-06-13T10:36:10.8554453Z             {
2026-06-13T10:36:10.8554681Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8554769Z               "line": 1974
2026-06-13T10:36:10.8554850Z             },
2026-06-13T10:36:10.8554936Z             {
2026-06-13T10:36:10.8555033Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8555122Z               "line": 2011
2026-06-13T10:36:10.8555203Z             },
2026-06-13T10:36:10.8555290Z             {
2026-06-13T10:36:10.8555403Z               "path": "crates/xtask/src/main.rs",
2026-06-13T10:36:10.8555489Z               "line": 480
2026-06-13T10:36:10.8555571Z             },
2026-06-13T10:36:10.8555751Z             {
2026-06-13T10:36:10.8555857Z               "path": "crates/xtask/src/main.rs",
2026-06-13T10:36:10.8555948Z               "line": 494
2026-06-13T10:36:10.8556033Z             }
2026-06-13T10:36:10.8556118Z           ]
2026-06-13T10:36:10.8556195Z         },
2026-06-13T10:36:10.8556281Z         "int": {
2026-06-13T10:36:10.8556376Z           "complete": false,
2026-06-13T10:36:10.8556471Z           "evidence": []
2026-06-13T10:36:10.8556554Z         },
2026-06-13T10:36:10.8556633Z         "unit": {
2026-06-13T10:36:10.8556724Z           "complete": true,
2026-06-13T10:36:10.8556811Z           "evidence": [
2026-06-13T10:36:10.8556897Z             {
2026-06-13T10:36:10.8557024Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T10:36:10.8557111Z               "line": 476
2026-06-13T10:36:10.8557198Z             },
2026-06-13T10:36:10.8557277Z             {
2026-06-13T10:36:10.8557395Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T10:36:10.8557491Z               "line": 580
2026-06-13T10:36:10.8557576Z             },
2026-06-13T10:36:10.8557660Z             {
2026-06-13T10:36:10.8557755Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8557851Z               "line": 8089
2026-06-13T10:36:10.8557933Z             },
2026-06-13T10:36:10.8558018Z             {
2026-06-13T10:36:10.8558118Z               "path": "crates/spt/src/cli.rs",
2026-06-13T10:36:10.8558214Z               "line": 8111
2026-06-13T10:36:10.8558294Z             }
2026-06-13T10:36:10.8558375Z           ]
2026-06-13T10:36:10.8558458Z         }
2026-06-13T10:36:10.8558533Z       }
2026-06-13T10:36:10.8558619Z     }
2026-06-13T10:36:10.8558699Z   ],
2026-06-13T10:36:10.8558791Z   "findings": []
2026-06-13T10:36:10.8558881Z }
